我有一個SVN
-repository我想轉換爲git
-repository。我使用svn2git
來實現這一點。不幸的是,似乎這個工具在標籤正確的時候遇到問題。我SVN
-repository看起來是這樣的:svn2git無法正確導入標籤
.../branches
.../tags
project-version-5.2.5/
project-version-5.3.0/
project-version-5.3.1/
project-version-5.4.0/
project-version-5.5.0/
project-version-5.5.1/
project-version-5.5.2/
project-version-5.5.3/
project-version-5.5.4/
project-version-5.6.0/
project-version-5.6.1/
project-version-5.6.2/
project-version-5.6.3/
project-version-5.6.4/
project-version-5.6.5/
project-version-5.6.6/
project-version-6.0.0/
project-version-6.0.1/
project-version-6.0.2/
project-version-6.1.0/
project-version-6.1.1/
project-version-6.1.2/
project-version-6.2.0/
project-version-6.2.1/
.../trunk
但Git倉庫,並不代表這一點。標籤看起來像這樣:
bash:~$ git tag
project-version-5.2.5
project-version-5.3.0
project-version-5.3.1
[email protected] <-- I have no idea, where that is coming from...
project-version-5.4.0
project-version-5.5.0
project-version-5.5.1
project-version-5.5.2
project-version-5.5.3
project-version-5.5.4
project-version-5.6.0
project-version-5.6.1
project-version-5.6.2
project-version-5.6.3
project-version-5.6.4
project-version-5.6.5
請注意缺少的標籤。他們由於某種原因存儲爲遠程分支:
bash:~$ git branch -r
svn/tags/[email protected] <-- Yay, random numbers!
svn/tags/project-version-5.6.6
svn/tags/[email protected] <-- And another one.
svn/tags/project-version-6.0.0
svn/tags/project-version-6.0.1
svn/tags/project-version-6.0.2
svn/tags/project-version-6.1.0
svn/tags/project-version-6.1.1
svn/tags/project-version-6.1.2
svn/tags/project-version-6.2.0
svn/tags/project-version-6.2.1
svn/trunk
這裏發生了什麼?
編輯:我忘了補充我的命令:svn2git http://path/to/repository --no-minimize-url --verbose --username='username' --trunk trunk --nobranches --tags tags
EDIT2:我只是檢查,結果發現,這看似隨意的數字實際上在SVN
修訂-repository,其標籤被製成。有點奇怪,只有~20個標籤中的3個得到了修改......
Edit3:顯然這個問題與一個標籤的註釋有關,它包含"
。一個後,所有的標籤都保存爲分支,因爲svn2git
不逃避"
,並嘗試做一些像
git tag -a -m "blablabla "blablabla"." "[email protected]" "svn/tags/[email protected]"
其失敗的原因很明顯。我仍然不知道,爲什麼有些標籤會添加版本號。如果任何人有任何建議如何克服這個問題,我會非常感謝。
Edit4:我找到了逃避問題的解決方案。 svn2git
-source中的轉義函數有點奇怪......它只用單引號('
)替換'\''
。我完成了...
哪裏是github線程?我有同樣的問題,但我們現在已經很多年了。代碼現在有點不同了,它包含'str.gsub(/'|「/){| c |」\\#{c}「}',但我不知道ruby是否足夠了解我必須改變,你能幫助我嗎? – lvthillo