2009-10-17 80 views
8

我已经开始使用git跟踪svn仓库,只克隆它的中继目录。现在我想跟踪其他内容,但是我不想再次使用--stdlayout来克隆它,因为它需要很长时间才能下载,而且本地已经有大部分代码。如何更改存储库布局以匹配svn trunk/branches/tags方案而不必再次克隆?开始跟踪只跟踪中继的git-svn仓库上的分支/标签

回答

9

.git/config

 
[svn-remote "svn"] 
     url = svn://host/project/trunk 
     fetch = :refs/remotes/git-svn 

.git/config

 
[svn-remote "svn"] 
     url = svn://host/project 
     fetch = trunk:refs/remotes/git-svn 
     branches = branches/*:refs/remotes/* 
     tags = tags/*:refs/remotes/tags/* 

现在运行git svn reset -r1 -p; git svn fetch; git svn rebase

不,它不是从做git svn clone重新太大的区别 - 添加分支意味着git可以看到更多的合并,这意味着内容git是跟踪已更改,因此git-svn必须重新一切。

+0

让我补充一句,'git svn reset'将会失败,除非指定的版本不是项目的一部分。我提到这一点,因为在一些较早的版本中,命令会发出不明确的错误消息。 – UncleZeiv 2010-07-08 11:47:39