git-svn клонирует всю историю, но только то, что в настоящее время находится в ревизии HEAD - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь преобразовать репозиторий SVN в репозиторий Git с помощью git-svn, но он клонирует все, что когда-либо было в SVN, в любой момент.

Например, ветвь, которая была создана, объединена в транк и удаленаклонируется как новая ветка Git.

Как получить всю историю коммитов, но только клонировать в мастер, что в настоящее время находится в ревизии HEAD.

Я попытался запустить git svn clone с-r HEAD, но это дало мне ошибку:

фатально: refs / remotes / svn / trunk: недопустимый заголовок обновления SHA1-ref HEAD

refs / remotes / svn /trunk: команда вернула ошибку: 128

1 Ответ

0 голосов
/ 05 августа 2019

«Редакция HEAD» будет означать только самую последнюю ревизию в репозитории SVN: вы не получите полную историю.

Было бы легко импортировать контент ревизии HEAD вGit-репозиторий:

git init .
git --work-tree=/path/to/svn/repo add .
git commit -m "Import SVN HEAD revision"

Чтобы клонировать / импортировать только одну ветвь, как в этой сущности , попробуйте

git svn clone -T trunk http://example.com/PROJECT
...