在mercurial中使用特定于文件的提交消息标记修订?

时间:2011-03-29 19:52:52

标签: mercurial

是否可以使用消息文件在Mercurial中标记修订,而不仅仅是-m参数来指定消息?

2 个答案:

答案 0 :(得分:2)

在* nix或Cygwin上,您可以使用反引号技巧:

bash-4.1$ hg init test
bash-4.1$ cd test
bash-4.1$ echo something > a
bash-4.1$ hg ci -A -m "First commit."
adding a
bash-4.1$ echo "Custom tag message" > msg.txt
bash-4.1$ hg tag mytag -m "`cat msg.txt`"          # tag message from file
bash-4.1$ hg tags
tip                                1:1b6138117d00
mytag                              0:679f354e7ec1
bash-4.1$ hg log
changeset:   1:1b6138117d00
tag:         tip
user:        gavin
date:        Tue Mar 29 21:43:55 2011 -0500
summary:     Custom tag message

changeset:   0:679f354e7ec1
tag:         mytag
user:        gavin
date:        Tue Mar 29 21:43:22 2011 -0500
summary:     First commit.

答案 1 :(得分:1)

这在某种程度上取决于你是否只是想要一个大的消息作为参数。如果这是你的目标,那么你可以使用反引号。即:

hg commit -m "`cat myfiletxt`"

你必须小心确保该文件中没有双引号!有很多陷阱坐在那里,但这应该让你至少开始......虽然值得一提,但这要求你在某种类型的* nix shell中。

现在,如果您打算将文件指定为指针,我不相信目前有一种方法可以说“查看(文件)了解详细信息”。虽然您可以将其用作提交消息。 :)