Код Repo2txt полностью написан на Python. При этом автор проекта отмечает, что не использовал сторонние зависимости и уместил всё в один файл. Для лучшей производительности применяется многопоточность. Кроме того, Repo2txt учитывает файлы в .gitignore
, чтобы исключать их из вывода, поддерживается вывод двоичных файлов (аудио, изображений). Сам исходный файл понятен человеку и может легко токенизироваться для обучения моделей.
Кроме возможности обучать на полученных данных нейросети, разработчик приводит и другие сценарии использования:
анализ данных;
резервное копирование;
локальное версирование.
Сперва утилиту необходимо скачать, локально клонировав исходный репозиторий. После этого для копирования репозиториев надо выполнить файл main.py с указанием пути к репозиторию и флагами:
-d
, --directory
— путь к каталогу (обязательно).
-t
, --tree
— вывод дерева репозитория (без содержимого файлов, отключен по умолчанию).
-e
, --embed
— включить дерево в начале вывода.
-b
, --binary
— ключить двоичные файлы (отключен по умолчанию).
-g
, --gitignore
— использовать .gitignore для исключения файлов.
-i
, --ignore
— можно через запятую указать дополнительный шаблон для исключения файлов.
-o
, --output
— имя файла на выходе.