/ / миграция от svn към git 2.9.2 на Windows - git, svn, управление на версиите

миграция от svn към git 2.9.2 на windows - git, svn, version-control

Миграцията от svn (сървърна версия 1.6.11) към git (версия 2.9.2) на Windows 10 изглежда не работи както е описано (искам да запазя всички svn-тагове и клонове).

Първи опит:

Следвах урока, предоставен на https://www.atlassian.com/git/tutorials/migrating-convert.

Резултат: всички клонове се изтриват, когато се изпълни следната команда:

java -Dfile.encoding=utf-8 -jar ~/svn-migration-scripts.jar clean-git
--force

Следващ опит:

Следвах стъпките, описани в https://git-scm.com/book/it/v2/Git-and-Other-Systems-Migrating-to-Git:

  • поръчка на проекта: git svn clone --stdlayout --authors-file=authors.txt --no-metadata http://<the-svn-url-without-trunk> <module-directory>

  • След като проверите командата git tag -l произвежда празен изход.

  • git branch -a произвежда следния резултат (както се очаква):

    *master remotes/origin/tags/de-vgwort-jerry-configuration-1.0.0 remotes/origin/tags/de-vgwort-jerry-configuration-1.0.1 remotes/origin/tags/de-vgwort-jerry-configuration-1.0.2 remotes/origin/tags/de-vgwort-jerry-configuration-1.1.0 remotes/origin/tags/de-vgwort-jerry-configuration-1.2.0 remotes/origin/tags/de-vgwort-jerry-configuration-1.3.0 remotes/origin/tags/de-vgwort-jerry-configuration-1.4.0 remotes/origin/tags/de-vgwort-jerry-configuration-1.4.1 remotes/origin/tags/de-vgwort-jerry-configuration-1.5.0 remotes/origin/trunk

Следващата стъпка според документацията:

To move the tags to be proper Git tags, run

$ cp -Rf .git/refs/remotes/origin/tags/* .git/refs/tags/
$ rm -Rf .git/refs/remotes/origin/tags

Проблемът:

Пътя .git/refs/remotes/origin/tags/ празно е. Всички SVN-тагове изглежда са разположени на

.git/svn/refs/remotes/origin/tags

Директорията .git/svn/refs/remotes/origin/tags съдържа поддиректория за всеки маркер. Опитах се да преместя тези директории .git/refs/tags/но това води до следния изход при изпълнение git branch -a:

warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.0.0/index warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.0.0/unhandled.log warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.0.1/index warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.0.1/unhandled.log warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.0.2/index warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.0.2/unhandled.log warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.1.0/index warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.1.0/unhandled.log warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.2.0/index warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.2.0/unhandled.log warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.3.0/index warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.3.0/unhandled.log warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.4.0/index warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.4.0/unhandled.log warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.4.1/index warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.4.1/unhandled.log warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.5.0/index warning: ignoring broken ref refs/tags/de-vgwort-jerry-configuration-1.5.0/unhandled.log * master remotes/origin/tags/de-vgwort-jerry-configuration-1.0.0 remotes/origin/tags/de-vgwort-jerry-configuration-1.0.1 remotes/origin/tags/de-vgwort-jerry-configuration-1.0.2 remotes/origin/tags/de-vgwort-jerry-configuration-1.1.0 remotes/origin/tags/de-vgwort-jerry-configuration-1.2.0 remotes/origin/tags/de-vgwort-jerry-configuration-1.3.0 remotes/origin/tags/de-vgwort-jerry-configuration-1.4.0 remotes/origin/tags/de-vgwort-jerry-configuration-1.4.1 remotes/origin/tags/de-vgwort-jerry-configuration-1.5.0 remotes/origin/trunk

Следващ опит

Използвайте svn2git от https://github.com/nirvdrum/svn2git, Но изглежда, че този инструмент също не работи. След стартиране

svn2git <svn-url-without-trunk> --authors ..authors.txt

командата git branch -a произведе следния резултат:

* master remotes/svn/trunk

=> Този резултат е доста безполезен.

Какво ми липсва тук? Има ли документация, приложима за Windows и най-новата версия на git 2.9.2?

Отговори:

1 за отговор № 1

За еднопосочен внос можете да опитате subgit import

SubGit има безплатна оферта за внос и като цяло е по-пълна от git svn.