git-svn после перемещения репозитория SVN? - PullRequest
5 голосов
/ 14 января 2011

Недавно мы переместили наш SVN-сервер из одного центра обработки данных в другой, и IP-адрес сервера изменился. Я использовал svn switch --relocate old_url new_url для обновления моей фактической рабочей копии, и это было приятно.

Тем не менее, я делаю большую часть своей работы в локальной git-версии репозитория (очевидно, используя git-svn). После перемещения сервера SVN я обновил URL-адрес хранилища в .git/config, но при попытке использовать dcommit я получаю эту ошибку:

Unable to determine upstream SVN information from HEAD history.
Perhaps the repository is empty. at /home/me/libexec/git-core/git-svn line 520.

Чего мне не хватает?

Ответы [ 2 ]

4 голосов
/ 14 января 2011

В общем, это не то, что git-svn поддерживает напрямую.Самым большим препятствием является то, что git-svn использует «git-svn-id» (видимый в журнале фиксации для каждого коммита) для уникальной идентификации коммитов из SVN - и URL-адрес SVN является частью этого идентификатора.Если URL-адрес изменяется, он в значительной степени лишает законной силы всю вашу существующую историю.

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

0 голосов
/ 02 января 2014

Это можно сделать с помощью git-svn, клонируя оба репозитория, объединяя их, а затем перестраивая метаданные git-svn.

Смотрите мой ответ здесь .

...