Причина, по которой индекс git svn
нарушается при использовании git lfs import
, заключается в том, что последний переписывает историю репозитория Git (если не указан параметр --no-rewrite
).
При использованииопция --no-rewrite
жизнеспособна для вас (то есть вы можете хранить большие файлы в истории Git-репозитория, удаляя их только из будущих коммитов), тогда, возможно, это самый простой способ.
Вкл.с другой стороны, если вы должны хранить эти большие двоичные файлы полностью вне хранилища репозитория, в его истории не должно быть коммитов, которые бы добавляли эти файлы непосредственно в Git.Поэтому вы должны продолжать использовать простой git lfs import
, чтобы переписать все коммиты, созданные git svn clone/fetch
, и перенаправить эти файлы в LFS.После запуска git lfs import
вам нужно будет перегенерировать git-svn rev_map
, чтобы сопоставить новые коммиты в переписанной истории Git с ревизиями SVN, которые они отражают.Я не знаю, есть ли простой способ сделать это, но вы можете взглянуть на код в https://github.com/Eloston/git-svn-lfs, чтобы иметь представление.