2012-01-18 72 views
3

我在Subversion版本库下面的目录为Visual Studio解决方案:颠覆:如何组织为Visual Studio解决方案SVN标签 - 或 - 如何版本整个VS解决方案

  • 项目名
    • 标签
    • 分支
    • 干线
      • MySolution.sln
      • MyProject1(DIR)
      • MyProject2(DIR)

如果我更新MyProject1版本1.0.02.0.0,我应该在复制一切中继标签下的新目录,或者我应该只复制trunk/MyProject1中的所有内容到一个新的目录下标签

而且,如果前者是正确的做事方式,我该如何版本化整个Visual Studio解决方案?

谢谢。

回答

4

查看svn guide以了解基本的版本控制概念。

干线是发展的主线,所以你可以从1.0.0版本更新到1.0.1,2.0.0等

分公司是你的躯干的副本来开发功能或别的东西不影响Trunk。您可以随时将分支代码合并到中继代码或将其丢弃。

标记是在您的trunk或branch的给定时间的快照。

在你的情况下,你可以从1.0.0.0更新到2.0.0.0的trunk,也可以通过标记1.0.0.0版本(将所有trunk复制到名为1.0.0.0的标签)来保留快照。

首先,您可以将ProjectName签出到本地磁盘,例如c:\ working \ ProjectName。 这样,你有这样的第一局部结构:

  • 项目名
    • 标签
    • 分支
    • 干线
      • MySolution。SLN
      • MyProject1(DIR)
      • MyProject2(DIR)

当您达到1.0.0.0版本标记它有这样的结构:

  • 项目名
    • 标签
      • 1.0.0.0
        • MySolution.sln
        • MyProject1(DIR)
        • MyProject2(DIR)
    • 分支
    • 躯干
      • MySolution.sln
      • MyProject1(di R)
      • MyProject2(DIR)

然后更新到2.0.0.0等:

  • 项目名
    • 标签
      • 1.0.0.0
        • MySolution.sln
        • MyProject1(DIR)
        • MyProject2(DIR)
      • 2.0.0.0
        • MySolution.sln
        • MyProject1(DIR)
        • MyProject2(DIR)
    • 分支机构
    • 中继线
      • MySolution。SLN
      • MyProject1(DIR)
      • MyProject2(DIR)

在任何时候都可以在主干工作或释放1或2个(可能进行调试或应用补丁)

+0

这是我想我会得到的答案。所以,我应该在标签中包含MyProject2,尽管它根本没有改变。 – ken 2012-01-19 13:41:53

+0

你必须从整体上考虑你的解决方案。所以你不仅标记整个解决方案MyProject2。 别担心,这不是浪费空间,因为标签只是对特定修订版的“参考”。没有代码是重复的。 – 2012-01-19 14:21:20

+1

我发现这个方法有点麻烦,标签命名方案变得任意。我知道活的MyProject2 dll的版本,因为版本号被嵌入程序集中。但是我没有简单的方法将该程序集版本与svn标签相关联,因为svn标签版本是任意的,并且与程序集版本没有关联。嗯... – ken 2012-01-19 14:56:13

相关问题