Я пытаюсь использовать зеркало GCC git, зарегистрированное здесь.
Некоторое время назад я клонировал репозиторий git:
git clone git://gcc.gnu.org/git/gcc.git
Добавлен материал git -svn:
git svn init -Ttrunk --prefix=origin/ svn+ssh://gcc.gnu.org/svn/gcc
И тогда git svn rebase
и git svn dcommit
и т.д. все работало красиво.
Несколько месяцев спустя я провел различные разработки в локальных ветвях git, и я пришел, чтобы совершить больше изменений в восходящем SVN:
-
Обновление из git miror:
$ git rebase
-
Убедитесь, что у меня есть последняя версия SVN, но она не работает:
$ git svn rebase -v Unable to determine upstream SVN information from working tree history
Как-то я сломал метаданные! Как и выше, я думаю, что я сделал git svn fetch
в какой-то момент, по ошибке, но это не должно быть вредным, не так ли?
Итак, я попытался создать новую ветку из удаленного зеркала git:
$ git branch svntrunk remotes/origin/trunk
$ git checkout svntrunk
$ git svn rebase
Unable to determine upstream SVN information from working tree history
Веб-поиск показывает, что история ветвей каким-то образом отклонилась от SVN, но я проверил git log
, и каждая фиксация имеет соответствующий git-svn-id
, который, кажется, опровергает это, no?
Итак, я попробовал новый клон из git://gcc.gnu.org/git/gcc.git, и в этом репозитории git svn rebase
работает нормально. Как два репозитория, в котором оба имеют git rebase
из того же источника, имеют разные истории? Предположительно, они не могут, и разница в локальных метаданных?
Теперь я не хочу уничтожать репо, в котором я работал (хотя мог), и экспортировать патчи на другое репо, чтобы совершить поражения, имея в виду наличие git -svn в первую очередь, Итак, как я могу его восстановить?