Я импортировал большой репозиторий, используя git-p4, и обнаружил, что у меня есть несколько странно смешанных имен файлов, например ::
dirA/DIRb/file1.txt
и другие файлы, например, такие:
DIRa/dirB/FILE2.txt
и так далее. Они попадают в репозиторий таким образом, потому что git-p4 использует fast-import. Это заставляет Git загадочно утверждать, что есть неотслеживаемые каталоги, которые определенно не отслеживаются, и в них нет новых файлов. Я обнаружил, прочитав этот вопрос:
git все еще не отслеживается после добавления
и, в частности, ответ slayerIQ, что это можно исправить, переименовав соответствующие каталоги, чтобы получить соответствующий регистр. И действительно, в некоторых случаях, когда файлы имели только один формат, это исправляло это. Но для смешанных, как я упоминал выше, это ничего не делает. Этот вид листинга подтверждает мои подозрения в отношении дела:
git ls-tree --name-only -r branch
Я подумал об использовании переписывания истории, чтобы попытаться это исправить, но это кажется очень тяжелым, и я немного не решаюсь пойти туда, если мне не нужно (дерево ~ 25K файлов). С другой стороны, я делаю «git status» на чистом дереве и получаю список из 35 «неотслеживаемых» путей. Так что это вроде несостоятельно.
Я могу сделать клон git-p4 с нуля, если мне нужно, но я подозреваю, что пути со смешанным регистром исходят из самой Perforce. SmartGit не имеет этой проблемы с деревом, и копирование точного дерева в новый репозиторий работает нормально (так как оно добавлено правильно).
Есть идеи, как поступить?
Спасибо:)