是否可以使用兄弟路径创建子存储库?
Subversion 是我们在这里“选择”的 VCS,但我已经遇到了很多过时提交的问题。在 Hg 和 SVN 下对我的文件进行双重版本对我来说更加方便,并且我已经取得了巨大的成功。但是,我还有其他几个同事使用 Hg,除了他们可能没有注意到的一个问题外,我们在那里没有遇到任何问题。
我们的 SVN 布局是这样的
Area/
trunk/
Program1/
Program2/
...
Services/
Program1ServiceA/
Program1ServiceB/
branches/
Program/
Program/
...
Services/
Program1ServiceA/
Program1ServiceB/
tags/
Program1/
Program2/
...
Services/
Program1ServiceA/
Program1ServiceB/
这让您在处理项目时有点愚蠢,因为如果您的主要项目由Program1
andProgram2
和其他一些服务组成......我不能一次获得所有的变更集,因为我们已经有一个与目录匹配的存储库。所以我必须确保 4 或 5 个 repos 是同步的,尤其是对于一些服务引用。
我在单个目录下使用 subrepos 运气不错:
MainRepo/
Subrepo1/
Subrepo2/
但我想做的是指定一个相对路径,这样我就可以使用同级目录到子存储库,所以我可以有这样的东西:
Area/
Project1/
Program1/ (points to ../trunk/Program1)
Program2/ (points to ../trunk/Program2)
Service1/ (... You get the idea)
Service2/
trunk/
Program1/
Program2/
Services/
Service1/
Service2/
但到目前为止,它并没有像我预期的那样奏效。trunk/Program1
是一个汞回购,我的Project1/.hgsub
文件包含
Program1 = ../trunk/Program1
我也试过../../trunk/Program1
但是其中任何一个的结果都是创建了一个新目录:Area/Program1/Project1
那是空的。
到目前为止,我能找到的唯一搜索结果是使用http
基于存储库的子存储库,所以我不确定从这里去哪里。我们的开发环境是 Windows 7,所以“简单”的答案是创建联结,但我主要关心的是让这样的事情容易做,所以进入门槛尽可能低,甚至像mklink /J Program1 ..\trunk\Program1
from管理员 cmd 窗口是另一件事,它会阻止人们迁移到更好的工作流程。
是否可以添加我想要的子存储库,或者有更好的方法来做我们正在做的事情?