背景:我们的源代码保存在我们自己的服务器的SVN存储库中。我们让A队正在研究网站的主要功能。我们希望与B团队合作设计方面,这些方面将位于不同的位置。
在设置SVN存储库的很长一段时间里,我创建了一个最终可以访问的结构:
svn://www.myserver.com/main/abc
源代码文件出现在'abc'级别和下面的文件夹中。
直到现在我需要创建一个分支时,这对我们来说一直很好。选择TortoiseSVN→Branch / Tag似乎可以让我选择在以下位置创建分支:
svn://www.myserver.com/main/def
然而,当我最后一次尝试时,它似乎创建了一个名为'def'的文件夹WITHIN'abc',这并不是我所期待的。我希望创建一个完全独立的存储库副本,B团队可以使用它,当合并两者时 - 可能会尽可能顺利地进行。
[我明白在'abc'中提交更改时,我们还必须提交'def']
答案 0 :(得分:1)
svn中的分支只不过是一个副本。如果你正在使用一个名称为" trunk"和"分支"特殊意义(以及你描述它的方式,似乎TortoiseSVN这样做),尽量避免其分支功能并直接创建副本。如果您查看svn://www.myserver.com/main/,然后将abc复制到def,那么您将全部设置完毕。然后B队可以查看svn://www.myserver.com/main/def。
答案 1 :(得分:1)
存储库布局只不过是关于使用树的接受协议。您可以将主线和侧面工作存储在存储库树的任何位置,而它们不会相交。
在您对当前回购状态的描述中,您错过了一个重要的事物:存储库根目录在哪个级别? 两种情况“/ main /”和“abc /”都是可解决的,但步骤不同。
使用TSVN的Repository Browser,您甚至可以轻松检测root甚至是远程。你可以访问svn://www.myserver.com/main/ URL作为存储库,否则你会收到错误?
与repo-root相关的第二个问题是“Team TeamA现在使用哪个URL来访问repo?”是的,我阅读并理解
最终可以在svn://www.myserver.com/main/abc
访问的结构
但它为假设留下了一些空间:
(第一版和svn://www.myserver.com/main作为Q1的root用户需要以后重新签出存储库才能排除TeamB空间的公共根目录)
查找Repo-root,为我们写,我们将概述下一步的步骤