当前位置: 动力学知识库 > 问答 > 编程问答 >

git svn clone of a single directory of SVN repository

问题描述:

I am attempting to use git svn to clone a single directory of a SVN repository into a Git repository.

If I use git svn clone svn+ssh://path/to/repo/trunk/directory, I get a Git repo without branches that mirror the branches in the source SVN repo.

If I use git svn --stdlayout svn+ssh://path/to/repo/trunk/directory, I get an empty Git repo. The following is the output of the command:

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

I had read that the way to fix the above was to add a revision range like -r 1000:HEAD, this still produces an empty repo. The output is:

Initialized empty Git repository in /directory/.git/

Using higher level of URL: svn+ssh://path/to/repo/trunk/directory => svn+ssh://path/to/repo

Any ideas on how to clone a subdirectory of an SVN repository using git-svn that still grabs all of the branches & tags from the source SVN respository?

网友答案:

You don't want standard layout, you want something like this:

git svn clone svn+ssh://path/to/repo/ --trunk=trunk/directory --branches=branches/*/directory --tags=tags/*/directory
网友答案:

Prepare and enter the local project directory:

mkdir local/project/path
cd local/project/path

Initialize the local git repository with svn remote and fetch the data:

git svn init http://my_svn_server.com/repository/project/location
git svn fetch

Credit goes to Gabriel Saldaña: http://blog.gabrielsaldana.org/using-git-with-subversion-repository-subdirectory/

分享给朋友:
您可能感兴趣的文章:
随机阅读: