web-dev-qa-db-ja.com

SVNリポジトリの単一ディレクトリのgit svn clone

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リポジトリからすべてのブランチとタグを取得しますか?

33
oconnor0

標準レイアウトは必要ありません。次のようなものが必要です。

git svn clone svn+ssh://path/to/repo/ --trunk=trunk/directory --branches=branches/*/directory --tags=tags/*/directory
53
Mykola Gurov

ローカルプロジェクトディレクトリを準備して入力します。

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/

29