2010-05-23 25 views
3

我想用标签标记任意一组提交/更改集。我如何标记SVN,Hg或Git中的一组更改/更改集

  • 提交1 *标记1
  • 提交2 *标记2
  • 提交3
  • 提交4 *标记1
  • 提交5 *标记2

的目标是轻松定位特定商标的所有更改,并将该分组直接保存在VCS中,而不是像bug追踪系统这样的外部系统。

标记的位置和顺序必须是任意的,并且应该能够同时处理已提交/未提交和已推/未改变的更改。

在SVN中,我所知道的最好方法就是编辑提交笔记并添加一些可以搜索的特殊文本,例如, “**标记1”。或者只是做一个虚假的编辑并提交它并使用其提交说明列出所有包含的修订。

SVN有更好的解决方案吗? Hg或Git有相同或更好的解决方案吗?

回答

2

没有使用Git没有特别的元数据,提交意见和日期,或标签旁边。

所以你只剩下三个选择:

对于已经推出的提交,这两个选择将无法正常工作。

第三个选择是将数据与这些提交相关联,如票证。看到ticgit例如门票bug跟踪集成到您的git回购。

+0

ticgit看起来很有趣,谢谢。我喜欢使用分支来存储伪变更以及对变更集的引用。 – sylvanaar 2010-05-24 00:41:31

2

在善变的你会使用一个标签:

hg tag -r REVISIONNUMBER "MARK 1" 

在你提到你不会是能够注释“未...变化”三个系统。

听起来好像如果你完全理解git或mercurial中的分支选项,你可能会放弃“注释组”的概念,这是分支所做的。

http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/

+0

+1,用于从帖子中拉出“注释组”。 – msw 2010-05-24 03:00:18

+0

你的回答是居高临下,但我假设它不是。未提交的更改意味着可以将新更改添加到已标记的现有组。对于我所要求的分支而言,分支是不恰当的解决方案,除非您更改问题(您所做的),否则任何标签都不符合问题的目标。 – sylvanaar 2010-06-01 12:59:40

+0

我向你保证居高临下并不是目标,但是“未落实”在版本控制领域有着非常明确的含义,而且我还不清楚你的意思。建议我改变你的问题是荒谬的;我只是在每个项目符号列表项目前添加了一个空格字符,因此它就是一个项目符号列表。 – 2010-06-01 13:38:01