我应该将它们用作单独的版本吗?我是否将它们检入树干或树枝?这一切都在红皮书中,我浪费了你的时间吗?
答案 0 :(得分:16)
不要忘记标签和branch在SVN中基本相同:两者都是svn copy
诀窍是,由于标签代表快照,它应该是一个“不可变的”,因为你不应该对它进行任何修改。
该快照(标签)代表什么完全取决于您。它可以是:
答案 1 :(得分:10)
不确定“单独版本”是什么意思,但是我们正在构建的主干或分支复制到带有描述性名称的tags文件夹,如Proj-1.20.33
这样,对于我们所做的每个构建,我们都可以回到该特定版本。通常,您不希望在标记中进行任何实际更改。对于我们来说,我们继续通过自动构建过程更改代码和安装程序的一些版本号,因此只有这些更改才会合并回来,即便如此,这也是修改这些特定文件的唯一方法。
SVN Book在Common Branching Patterns和Tags条目中对此进行了讨论。
答案 2 :(得分:6)
我知道大多数仍然在SVN上的人都会在每次发布之前标记他们的主干(或当前的生产分支)。
答案 3 :(得分:2)
我更喜欢在构建标记存储库目录之后:
/tags
/builds
/PA
/A
/B
/releases
/AR
/BR
/RC
/ST
PA
表示 pre-alpha
A
表示 alpha
B
表示 beta
AR
表示 alpha-release
BR
表示 beta-release
RC
表示发布候选人
ST
表示稳定
builds 和版本之间存在差异。
N.x.K
模式,其中N
和K
是整数。示例:1.x.0
,5.x.1
,10.x.33
N.M.K
模式,其中N
,M
和{{1是整数。示例:K
,1.0.0
,5.3.1
。在存储库结构演变期间的某个特定时刻,10.22.33
存储库目录的结果示例如下:
tags
实际上,这种标记原则只是存储库结构方法的一部分。您可能会发现我所描述的diagram说明标记原则很有用。此外,它还包含更复杂的配置管理过程概述,包括分支和版本编号。