我想在trunk文件夹中设置一个包含7个不同接口的7个目录的SVN。
有时我必须对其中一个接口进行更改,但是当我这样做时,所有文件夹的修订号都会增加。
如何设置SVN,以便在trunk中的某个目录中进行更改时,它不会影响其他目录?
或者这不可能吗?
e.g。
trunk(rev 1)
我对界面b进行了更改,然后变为
trunk(rev 2)
因此,当设计人员/开发人员看起来他们可以在系统的最新迭代中看到只有一个已更改的接口。因此,他们可以忽略其他人,只是将改变部署到现场环境中。
答案 0 :(得分:2)
如何设置SVN,以便在trunk中的某个目录中进行更改时,它不会影响其他目录?
什么都不做,只是以正确的方式理解并使用Subversion:
SVN-tree中每个节点的修订是所有节点的子节点的最新版本,即在您的情况下,在提交到interface b
(作为修订版2)目录/ trunk之后还有rev 2,接口b - rev 2,但interface a
| interface c
的最后更改版本仍为rev 1(他们在rev 2中没有子项)
使用svn ls -v URL/TO/DIR
进行查看。
我的存储库中分支子树的示例
分支节点
>svn ls -v http://mayorat.ursinecorner.ru:8088/svn/Hello/
37 lazybadg янв 19 2013 ./
37 lazybadg янв 19 2013 branches/
22 lazybadg июл 17 2010 tags/
36 lazybadg янв 09 2013 trunk/
输出的第一列是此节点的修订版(最新更改) - 对于/branches
树,它是37
真正的分支
>svn ls -v http://mayorat.ursinecorner.ru:8088/svn/Hello/branches/
37 lazybadg янв 19 2013 ./
28 lazybadg фев 22 2011 Leichtbau-Deutsch/
37 lazybadg янв 19 2013 branche-francaise/
25 lazybadg сен 14 2010 i18n/
分支有修订版37,因为branche-francaise
subdir上次更改为37,但其他子目录具有自己的(较旧的)修订版本,您可以获取并进行测试和比较。
同样的规则适用于存储库树的任何部分,也适用于您的主干 - 同样
最后的注释:使用Devs或Designers进行部署是不好的想法(tm),请记住“MYOB”规则。部署可以(并且必须)自动化以减少延迟和人为错误(提交后挂钩可能是此类工作的良好候选者)