git svn
を使用して、SVNリポジトリの単一のディレクトリをGitリポジトリに複製しようとしています。
git svn clone svn+ssh://path/to/repo/trunk/directory
を使用すると、ソースSVNリポジトリのブランチをミラーリングするブランチのないGitリポジトリが取得されます。
git svn --stdlayout svn+ssh://path/to/repo/trunk/directory
を使用すると、空のGitリポジトリが取得されます。コマンドの出力は次のとおりです。
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
上記を修正する方法は、-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
Git-svnを使用してSVNリポジトリのサブディレクトリを複製する方法に関するアイデアはありますが、ソースSVNリポジトリからすべてのブランチとタグを取得しますか?
標準レイアウトは必要ありません。次のようなものが必要です。
git svn clone svn+ssh://path/to/repo/ --trunk=trunk/directory --branches=branches/*/directory --tags=tags/*/directory
ローカルプロジェクトディレクトリを準備して入力します。
mkdir local/project/path
cd local/project/path
Svn remoteを使用してローカルgitリポジトリを初期化し、データを取得します。
git svn init http://my_svn_server.com/repository/project/location
git svn fetch
クレジットはGabrielSaldañaに送られます: http://blog.gabrielsaldana.org/using-git-with-Subversion-repository-subdirectory/