我有一个包含以下架构的SVN项目(空trunk
和tags
)
https://svn-repo.com/svn/company
+--my_project
| +--trunk (empty)
| +--branches
| | +--my_branch
| | +--my_branch2
| | +--temp_branch1
| | +--temp_branch2
| | +--temp_branch3
| +-tags (empty)
我想使用TortoiseGit将此存储库克隆到具有分支my_branch
和my_branch2
的git存储库中,并且能够将更改提交回SVN。
我能够通过不检查任何与Trunk,Tags,Branch相关的框并将URL放到分支(例如https://svn-repo.com/svn/company/my_project/branches/my_branch
)并指定分支的第一个SVN修订版来克隆单个分支。 / p>
我尝试将网址https://svn-repo.com/svn/company/my_project
放入并检查所有框,但每次都失败。
问题1 :如何通过TortoiseGit克隆SVN存储库及其所有分支到Git?
问题2 :只在Git存储库中保留某些分支(即删除所有分支temp_branchN
)的方式(如果存在)是什么?
我发现了一些使用git-svn CLI(如related topic),但与TortoiseGit无关。
非常感谢
答案 0 :(得分:3)
[svn-remote]
档案中的$GIT_DIR/config
部分Git-SVN doc提到Subversion repos的一些罕见案例,并建议可能的解决方案:枚举所有需要(并且只需要)的分支
由于某些SVN存储库奇怪地配置了多个项目,因此允许使用以下列出的扩展:
[svn-remote "project-a"] ... branches = branches/*/project-a:refs/remotes/project-a/branches/* branches = branches/release_*:refs/remotes/project-a/branches/release_* branches = branches/re*se:refs/remotes/project-a/branches/* ...
答案 1 :(得分:1)
问题1 TortoiseGit +配置文件补丁的混合(下面的c.f.)
问题2 根据Lazy Barger提示,我想出了以下流程
.git/config
文件以添加所需的分支以下内容应添加到svn-remote
部分
[svn-remote "svn"]
url = https://myserver:8443/svn/WorkRoot
fetch = my_project/trunk:refs/remotes/origin/trunk
branches = my_project/branches/my_branch*:refs/remotes/branches/*