SVN
-repository に変換したい -repository がありますgit
。私はsvn2git
これを達成するために使用しています。残念ながら、ツールがタグを正しく取得するのに問題があるようです。私のSVN
リポジトリは次のようになります。
.../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
project-version-5.3.1@3812 <-- 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/project-version-5.6.5@4990 <-- Yay, random numbers!
svn/tags/project-version-5.6.6
svn/tags/project-version-5.6.6@5620 <-- 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
はタグが作成されたリポジトリのリビジョンであることがわかりました。奇妙なことに、20 個のタグのうち 3 個だけがリビジョンを追加されます...
Edit3: 明らかに、問題は を含む 1 つのタグのコメントと関係があります"
。それ以降のすべてのタグは、svn2git
エスケープせず"
、次のようなことをしようとするため、ブランチとして保存されます
git tag -a -m "blablabla "blablabla"." "project-version-5.6.5@4990" "svn/tags/project-version-5.6.5@4990"
明らかな理由で失敗します。一部のタグでリビジョン番号が追加される理由はまだわかりません。この問題を解決する方法について何か提案があれば、とても感謝しています。
Edit4:エスケープの問題の解決策を見つけました。-sourceのエスケープ関数svn2git
はちょっと変です...単一引用符 ( '
) を に置き換えるだけ'\''
です。私はこれで終わりです...