Hg合并后提交消息,最佳做法?

时间:2010-10-20 20:42:06

标签: mercurial

我发现自己做了很多事情:

C:\Code>hg pull
pulling from http://server/FogBugz/kiln/Repo/Project/Rebuild/trunk
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 4 changes to 4 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)

C:\Code>hg merge
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, dont forget to commit)

C:\Code>hg commit -m "Merged"

C:\Code>hg push
pushing to http://server/FogBugz/kiln/Repo/Project/Rebuild/trunk
searching for changes
remote: kiln: successfully pushed 2 changesets

我的问题是,在合并存储库中的pull之后使用什么是更好/更有用的提交消息。是否存在人们在分布式版本控制系统中使用的最佳实践?

6 个答案:

答案 0 :(得分:9)

如果您使用fetch extension它会自动拉取,请将步骤合并为一步,即获取。它自动生成的消息类似于“自动合并”。 hg开发人员似乎认为这是合理的,因为扩展现在随基础分发。

合并邮件似乎不包含特别多的信息。您的信息似乎合理。

[[offtopic,我们有时会将它们用作合并一词的双关语]]

答案 1 :(得分:6)

没有一种方法,所以我试图坚持这一点。

提交消息:

Jus请记住,这些消息是唯一可以将您连接到试图破解提交原因的人的字符串。

关键是提供一个对代码开发有用的评论。 因此,当某人使用hg log时,他对如何开发软件有一个很好的评论。

一些好的做法:

将其与您的错误管理系统相关联:

  1. 修复#3456,新功能#2435等
  2. 或更具描述性的回复带来的回报
  3. 给予学分
  4.   

    事实上,我所做的主要是。看着   “hg log”的当前状态并看到   什么有用的信息意味着什么   理解最新提交的逻辑进展。

答案 2 :(得分:2)

只要“merg”在消息中以某种方式存在,我们就可以利用这个机会用欢乐填充我们的mercurial日志。例如,我们使用合并消息,如“房地产抵押贷款处于历史最低点”或“合并格里芬电视制作。”

答案 3 :(得分:1)

您可以使用rebase扩展名,因此hg pull --rebase会将您的repo重新绑定到中央回购提示。这消除了拉动后合并的需要。

我为它添加了一个别名:

[alias]
pure = pull -u --rebase

适合我们。

更多详情请访问RebaseProject页。

答案 4 :(得分:1)

您可以收集所有新添加的变更集'通过

将消息提交到文件中
$ hg log --rev 'reverse(p2():ancestor(p1(),p2())-ancestor(p1(),p2()))' \
         --template '{desc}\n' \
         > commit-message.txt

然后手动编辑commit-message.txt,最后将其用作日志消息:

$ hg commit -l commit-message.txt

答案 5 :(得分:0)

对于平凡的合并,你只使用一个存储库,我认为只需“合并”就可以了。通常你甚至不知道所有被合并的东西,因为无论如何它都是其他人的变化。

有一次我建议你更加冗长,那就是你在使用多个存储库时。如果你有一个devel repo和一个稳定的repo,并且你正在从stable中修改bug,我只会在合并中提到:“与stable合并”。这些合并往往更大,所以它有助于向后来的人解释。