我有一个SVN仓库,其布局类似于
project1/trunk
project1/branches
project1/tags
project2/trunk
project2/branches
project2/tags
等.
出于多种原因,我想要一个git-svn repo,它允许我处理任何这些项目,并立即从/向所有项目提取/提交.这种事可能吗?我知道我可以git-svn克隆整个事情而不指定分支,标签和主干,但是后来我失去了使用git的很多优点.
Mar*_*ner 10
这就是我做到的.但是,可能有更简单的方法.
选择您要使用的标准布局的第一个项目,git svn clone它:
git svn clone --stdlayout http://sample.com/svn/repository-name/project-name repository-name
进入repository-name目录并编辑其.git/config文件.您也可以使用git-config命令执行此操作,但我发现在文本编辑器中更容易.
您将看到[svn-remote "svn"]已为您的第一个项目定义的部分.将其重命名svn-remote为更独特的东西"svn",可能与项目名称相同.例如,[svn-remote "project-name"].
[svn-remote "project-name"]按照第一个项目的模板为每个项目创建更多部分.给每个人一个独特的名字!你需要改变fetch,branches以及tags设置使用正确的Subversion的目录名称为每个项目.
完成后,保存文件并运行git svn fetch --fetch-all.其他项目将作为远程提取在本地存储库中.
要master在项目之间切换,请执行a git reset --hard other-project-name/trunk,就像切换到任何其他远程Subversion分支一样.