簡體   English   中英

Mercurial:如何更改默認標簽消息模板?

[英]Mercurial: How can I change default tag message template?

我想在提交消息中使用一些前綴標簽,以便在查看修訂日志時快速識別提交類型,並能夠快速過濾日志。

我打算使用的一些前綴是( TAG:、MERGE:、TEST:、STABLE:、TRUE-UP:、FIX():、FEATURE():,可能還有其他)。

此外,對於標簽,我想將默認消息更改為更具描述性,如下所示:

TAG: Added tag v3.4 for e90d0caa766 created on 2022-09-22 01:05:00
Applied fix for foobar.

對於標記,Mercurial 似乎沒有打開編輯器,所以我可以檢查標記消息,所以我調試這個的嘗試很乏味。

我嘗試將以下內容添加到我的 repo hgrc 配置文件中:

[committemplate]
changeset.tag = "TAG: Added tag {tag} for {node|short} created on {date|isodate}\n{desc}"

我也玩過[hooks]部分和pretag鈎子。

此外,我在命令行上嘗試了各種格式調整:

hg tag -r . -m 'TAG: Added tag {tag} for {node|short} created on {date|isodate}\n{desc}' test4

對於上面的命令行嘗試,這些都不會填充消息中的模板字段,而對於 hgrc 配置文件中的其他嘗試,這不會改變提交消息一次,甚至不會出錯。

我在這里想念什么?

  1. [committemplate]工作,如果它被添加到 hgrc (在 repo 級別嘗試,而不是全局嘗試),但不知何故不是預期的形式(見下文)
  2. 請注意:如果您將使用“添加標簽”的措辭,您可能希望使用changeset.tag.add將修改消息的區域限制為僅添加標簽hg tag也可以刪除標簽,順便說一句)

我的測試用例

  • 汞 6.2.2
  • 全局配置中沒有重新定義的提交模板
  • 用於 changeset.tag 的愚蠢 oneliner 和更高版本的 changeset.tag.add
  • 在 CLI 中標記 pure(由於 THG 完全失敗)

一些日志

普通hg tag -r 0 0.1 + hg tag --remove 0.1changeset.tag一起使用重新定義(hg 使用的默認消息)

changeset:   2:006c40256d9b
user:        lazybadger
date:        Thu Sep 22 17:05:15 2022 +0500
summary:     Removed tag 0.1

changeset:   1:1927f74a0ec0
user:        lazybadger
date:        Thu Sep 22 17:02:46 2022 +0500
summary:     Added tag 0.1 for changeset 8385f66bee57

使用-e附加選項進行標記(注意:在編輯器中手動插入標記, {tag}{tags}不會在 changeset.tag.* 文本中擴展)

編輯器窗口

changeset:   7:5aee36e13e4d
tag:         lazybadger
date:        Thu Sep 22 17:13:43 2022 +0500
summary:     TAGGING: Tag 0.3 added
...
changeset:   3:9a4b0a117fb1
user:        lazybadger
date:        Thu Sep 22 17:06:23 2022 +0500
summary:     TAG: Tag 0.1 touched

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM