Редкий контроль в Мерзавце 1.7.0?

С новой редкой функцией контроля в Мерзавце 1.7.0, действительно ли возможно просто получить содержание подкаталога как то, как Вы можете в SVN? Я нашел этот пример, но он сохраняет полную структуру каталогов. Предположите, что я просто хотел содержание 'perl' каталога без фактического каталога, названного 'perl'.

- РЕДАКТИРОВАНИЕ-

Пример:

Мой репозиторий мерзавца содержит следующие пути

repo/.git/
repo/perl/
repo/perl/script1.pl
repo/perl/script2.pl
repo/images/
repo/images/image1.jpg
repo/images/image2.jpg
repo/doc/
repo/doc/readme.txt
repo/doc/help.txt

То, что я хочу, должно смочь произвести из вышеупомянутого репозитория это расположение:

repo/.git/
repo/script1.pl
repo/script2.pl

Однако с текущей редкой функцией контроля, кажется, что только возможно добраться

repo/.git/
repo/perl/script1.pl
repo/perl/script2.pl

который НЕ является тем, что я хочу.

68
задан Pavel Chuchuva 16 March 2012 в 02:44
поделиться

2 ответа

Вам все равно нужно клонировать весь репозиторий, в котором будут все файлы. Вы можете использовать флаг --depth, чтобы получить только ограниченное количество истории.

После клонирования хранилища трюк с деревом чтения ограничивает ваш "взгляд" на хранилище только теми файлами или каталогами, которые находятся в файле .git/info/sparse-checkout.

Я написал быстрый скрипт, чтобы помочь управлять разреженностью, поскольку на данный момент он немного недружелюбен:

#!/bin/sh
echo > .git/info/sparse-checkout
for i in "$@"
do
    echo "$i" >> .git/info/sparse-checkout
done
git read-tree -m -u HEAD

Если вы сохраните этот скрипт как git-sparse. sh в путь, указанный вызовом git --exec-path, то вы можете запустить git sparse foo/ bar/, чтобы "проверить" только каталоги foo и bar, или git sparse '*', чтобы вернуть всё обратно.

26
ответ дан 24 November 2019 в 14:22
поделиться

Короткий ответ - нет. Git видит все файлы как единое целое.

Я рекомендую вам разбить репозитории на логические части. Отдельный для perl, изображений и документов. Если вам также необходимо поддерживать стиль uber-репо, вы можете создать репо, состоящее из подмодулей .

16
ответ дан 24 November 2019 в 14:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: