Mercurial / Hg提交前缀为当前分支目录的消息

时间:2012-04-23 16:10:07

标签: netbeans mercurial branch dvcs

我们将Mercurial与克隆的存储库一起用于我们的“分支”。每个克隆中的“分支”是“默认”。

结构是:

repos/Test
repos/Trunk
repos/Live
repos/NewFeature

完成Trunk中的工作后,更改将被拉入测试克隆。当每次提交到default时,我现在可以看到最初进行更改的位置,即在Trunk或Test repo中。

我想知道如何使用[Trunk][Test]自动为每个提交消息添加前缀 - 然后日志将更容易查看。

我希望在从cmd行和Netbeans提交时都会发生这种情况。

3 个答案:

答案 0 :(得分:3)

据我所知,没有选择,也没有现有的Mercurial扩展。

但是,我会考虑切换到named branches:这样就可以直接在变更集中的元数据中嵌入当前分支名称。更改日志查看器通常会在其UI中突出显示分支名称,以便您可以轻松查看每个更改集所属的位置。

答案 1 :(得分:1)

我们使用包含以下内容的脚本:

import re,os,sys,mercurial,repo

def prefix_commit_message(repo, **kwargs):
 commitctx = repo.commitctx

 def rewrite_ctx(ctx, error):
  branch_name = repo.root.split("/")[5]
  old_text = ctx._text
 ctx._text = "["+branch_name+"] "+old_text

 return commitctx(ctx, error)

.hgrc是这样的:

$ cat ~/.hgrc
[ui]
username = Ian Wood

[hooks]
precommit = python:~/Development/repository/prepend-branch-name.py:prefix_commit_message

答案 2 :(得分:0)

mercurial wiki包含许多关于如何设置commit message template的建议。这需要处理命令行。

至于Netbeans,我不知道它是否会让你开箱即用。你总是可以write a plug-in