私はこのhttps://github.com/nirvdrum/svn2gitツールを使用して指定したhttps://docs.gitlab.com/ce/user/project/import/svn.htmlのドキュメントを使用して、SVNリポジトリをgit reposに変換しています。SVN to Git:リポジトリの一部を抽出する
私の基本的な目標は、オリジナルのSVNリポジトリと同じ1つのgit repoを持つことです。このレポは、主に歴史的記録として役立ちます。私はSVNリポジトリのいくつかのサブディレクトリを自分のgit reposに移動したいと思っています。
私は以下のスクリプトでこれをやっている:
#!/bin/sh
mkdir repo.git
pushd repo.git
git config --global gc.auto 0
svn2git svn+ssh://svnhost/svn/dvl/svn/repo --authors ~/authors.txt
git gc
git config --global unset gc.auto
popd
pushd repo.git
git subtree split -P subdir/project/ -b project-subtree
popd
mkdir project.git
pushd project.git
git init
git pull ../repo.git project-subtree
popd
repo.git
は私が期待するブランチやタグを持っていますが、それらのいずれかをproject.git
ありません。ブランチとタグをproject.git
に入れる方法はありますか?そうでない場合、これを行う「正しい」方法は何ですか?
私も
svn2git svn+ssh://svnhost/svn/dvl/svn/repo/subdir/project --authors ~/authors.txt --no-minimize-url
を試してみました。しかし、それはsvn+ssh://svnhost/svn/dvl/svn/repo/subdir/project/trunk
を探して、それは空のレポを生成します。上記のコマンドに--rootistrunk
を追加すると、エラーが発生します。