1

私はプロジェクトを SVN から git に移動しています (完全に、したがって git svn の SVN 相互運用機能は必要ありません)git svnsvn2git( github の nirvdrum のフォーク) の両方を使用してみましたが、1 つの問題は、リポジトリのレイアウトがSVNは次のようでした:

example.com/website/trunk|branches|tags/base/code

そのため、それを git にインポートすると、リポジトリのルート ディレクトリには 1 つのディレクトリ、base (本名ではない)、およびすべてのものが含まれます。これは、いくつかの複雑さを追加するため、私たちにとって一種の問題です。

リポジトリのルートをベースに変更する良い簡単な方法はありますか? そうしないと、リポジトリのルートであってはならず、他の無関係なコードを含むディレクトリが git のリポジトリのルートになる必要があります。リポジトリのルートはベースであり、親ディレクトリには svn が含まれていませんでした)。

うまくいけば、これは誰かが簡単に答えられる簡単な質問です.

ところで、インポートしたいブランチとタグがありますが、これらは base の親ディレクトリではなく、base をルートにする必要があります。これらはほとんど役に立たず、チームは以前は中途半端に SVN を使用していたので、これらをそのようにインポートできなくても大したことではありませんが、それらがあればいいでしょう。

4

2 に答える 2

1

svn2gitそのためのオプションも取ります。チャールズの答えの例を使用すると、次のようになります。

svn2git --trunk example.com/website/trunk/base/code \
        --tags example.com/website/tags/base/code \
        --branches example.com/website/branches/base/code

[警告:私はこれを試していませんが、私が知る限り、それらをのオプションにsvn2git変換するだけです。]-T|t|bgit-svn

于 2009-08-26T00:07:39.383 に答える
1

あなたはできるはずです:

git svn init -Texample.com/website/trunk/base/code -texample.com/website/tags/base/code -bexample.com/website/branches/base/code

デフォルトを受け入れるか、を使用する代わりに-s|--stdlayout

于 2009-08-18T08:43:08.363 に答える