2013-07-23 58 views
1

我想要设置一个SVN,它将包含7个目录,用于中继文件夹中的7个不同接口。SVN全球和本地版本

有时我必须对其中一个接口进行更改,但是当我这样做时,所有文件夹的修订号都会增加。

如何设置SVN,以便在trunk中的某个目录中进行更改时,它不会影响其他人?

或者这是不可能的?

例如

中继线(REV 1)

  • 接口(REV 1)
  • 接口B(REV 1)
  • 接口C(REV 1)

我做出改变接口b它然后变成

中继线(转2)

  • 接口(REV 1)
  • 接口B(REV 2)
  • 接口C(REV 1)

这样当设计者/开发者看它们可以在的最新迭代见系统只有一个接口已被更改。所以他们可以忽略其他人,只是将改变部署在现场环境中。

回答

2

如何设置SVN,以便在trunk中的某个目录中进行更改时,不影响其他目录?

什么都不做,只是理解并以正确的方式使用Subversion:

修订的SVN树中的每个节点都是节点的孩子的,即在你的情况,之后提交的最新修订到interface b(作为修订版本2)目录/中继将具有rev 2,接口b - rev 2也是,但是最后更改修订为interface a | interface c仍然是第1代(他们在第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子目录最后一次在37更改,但其他子目录有自己的(较旧的)更改修订,您可以获取并测试并比较。

相同的规则适用于存储库树的任何部分,你的躯干 - 也

最后一点:它是坏主意(TM)使用离散事件或设计师的部署,还记得“MYOB”的规则。部署可以(并且必须)自动化以减少延迟和人为错误(提交后挂钩可能是此类作业的良好候选)