git svn
を使用して、SVNリポジトリの1つのディレクトリをGitリポジトリに複製しようとしています。git svn SVNリポジトリの1つのディレクトリのクローン
git svn clone svn+ssh://path/to/repo/trunk/directory
を使用すると、ソースSVNリポジトリのブランチを反映するブランチのないGitリポジトリが表示されます。
git svn --stdlayout svn+ssh://path/to/repo/trunk/directory
を使用すると、空のGitリポジトリが表示されます。私は上記の問題を解決する方法は、これはまだ空のレポを生成し、-r 1000:HEAD
のようにリビジョン範囲を追加したことを読んでいた
Initialized empty Git repository in /directory/.git/
Using higher level of URL: svn+ssh://path/to/repo/trunk/directory => svn+ssh://path/to/repo
W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: File not found: revision 100, path '/trunk/directory'
W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.
This may take a while on large repositories
:コマンドの出力を以下に示します。出力は次のとおりです。
Initialized empty Git repository in /directory/.git/
Using higher level of URL: svn+ssh://path/to/repo/trunk/directory => svn+ssh://path/to/repo
まだソースのSVNリポジトリーから枝&タグのすべてをつかむのgit - SVNを使用してSVNリポジトリのサブディレクトリのクローンを作成する方法上の任意のアイデア?
git svn clone svn+ssh://path/to/repo/ --trunk=trunk/directory --branches=branches/*/directory --tags=tags/*/directory
ここでの洞察は、 '--branches'引数にワイルドカード文字を使用できることです。良いもの。 –
ちょっと注意してください。もし特定のディレクトリにブランチやタグがない場合は、 '--branches'と' --tags'パラメータを安全に省略することができます。つまり、 '--stdlayout'の代わりに' --trunk = ... 'を使うだけでうまくいくはずです。 – Nux