2012-04-23 59 views
1

我們正在爲我們的「分支機構」使用帶有克隆存儲庫的Mercurial。每個克隆中的「分支」都是「默認」。以當前分支目錄爲前綴的Mercurial/Hg提交消息

結構爲:

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

當與幹線的變化拉入測試克隆工作完成。由於每個提交都已完成到default,我現在可以看到變更最初發生的位置,即在Trunk或Test回購中。

我想知道如何自動爲每個提交消息加上前綴[Trunk][Test] - 然後日誌會更容易查看。

我希望在從cmd行和Netbeans提交時發生這種情況。

回答

0

mercurial維基包含有關如何設置commit message template的一些建議。這需要照顧命令行。

至於Netbeans,我不知道它是否會讓你開箱即用。你總是可以write a plug-in

+0

謝謝 - 將看看這些建議。 – 2012-04-23 16:41:10

3

據我所知,沒有這個選項,也沒有現有的Mercurial擴展。

但是,我會考慮切換到named branches而不是:這樣您可以將當前分支名稱直接嵌入到變更集中的元數據中。更新日誌查看器通常會在其UI中的顯着位置顯示分支名稱,以便查看每個更改集所屬的位置。

+0

我最初考慮過這個問題,但由於我們必須在3個或4個分支上同時開發,我認爲克隆方法對我們來說更好。 我們有Jenkins使用這種方法,我唯一想做的就是提交消息前綴。 我想我會調查預提交鉤子... – 2012-04-26 14:56:15

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