2015-05-08 2 views
0

Мы находимся в процессе перехода на git для нашей системы управления версиями. Я использовал 'git svn', чтобы клонировать мой текущий репозиторий svn "bigproject" в репозиторий git - я также настраиваю cron для синхронизации svn, который связывается с этим git repo.Git: отсутствующие подкаталоги после клонирования

«bigproject» не имеет определенных внешних или svn: игнорировать свойства «bigproject» имеет много каталогов и подкаталогов (до 7 уровней в глубину).

src/apps/fld1/fld2/fld3/fld4/fld5  

Когда я проверяю перенесенный git repo, у него, кажется, все папки, как ожидалось.

Перед фактической миграцией я настроил промежуточный сервер и нажал на этот «большой проект» репо, и я пытался переключить сценарии сборки, чтобы использовать git вместо svn.

Это, как я принимала репо на моем сервере «мерзавец ступенчатого»:

git clone --bare bigproject/ bigproject.git 
cp -R bigproject.git /opt/git/ 
cd /opt/git/bigproject.git 
git init --bare --shared 

На сервере сборки, после того, как я делаю GIT клон и проверить, я обнаружил, что некоторые из подкаталогов пропали без вести - особенно после того, как 3 уровней глубоких

[email protected]:bigproject.git 

после клона я только

src/apps/fld1 

Я попытался повторно -экспонирование голого репо много раз, чтобы устранить любые человеческие ошибки, но я не могу понять.

Вы уже видели это раньше?

+3

Являются ли каталоги пустыми? Git игнорирует пустые каталоги, включая каталоги, содержащие только пустые каталоги. – chepner

+0

Были - Спасибо – obfuscate

ответ

1

я вижу две возможные причины

1) Вы под Windows, и достигли 255 символов максимум с точки зрения длины пути

2) ЦСИ/приложения/FLD1/содержит некоторые файлы, тогда как fld2 и все его подкаталоги не содержат никакого файла. Вы не можете добавить пустой каталог в Git, каталог считается пустым, если он не содержит никакого файла. Если каталог содержит подкаталог, который не содержит никакого файла, вы все равно не можете добавить его в git. Вы можете проверить Git FAQ - how to add an empty diectory. Ниже приведено отрывок

Могу ли я добавить пустые каталоги?

В настоящее время дизайн индекс Git (постановка области) позволяет только файлы должны быть перечислены, и никто достаточно компетентен, чтобы внести изменения в не позволяет пустые каталоги уже достаточно заботились об этой ситуации на средство его.

Каталоги добавляются автоматически при добавлении в них файлов. То есть каталоги никогда не должны добавляться в репозиторий, а не отслеживаются самостоятельно.

Вы можете сказать «git add», и он добавит туда файлы.

Если вам действительно нужен каталог, который существует в кассах, вы должны создать файл . .gitignore хорошо работает для этой цели (есть также инструмент MarkEmptyDirs, используя.NET, которая позволяет вам автоматизировать эту задачу); вы можете оставить его пустым или заполнить имена файлов , которые вы не ожидаете отображать в каталоге.

+0

пятно на. У меня были пустые каталоги по этим дорожкам. Благодаря! – obfuscate

Смежные вопросы