Mercurial:命令行上的多行提交消息?
如何在命令行上为mercurial指定多行提交消息?
hg commit -m "* add foo\n* fix bar"
不起作用。 日志显示:
changeset: 13:f2c6526e5911 tag: tip date: Fri Jan 23 23:22:36 2009 +0100 files: foobar.cpp description: * add foo\n*fix bar
Mercurial:命令行上的多行提交消息?
点击进入。
$ hg commit -m "Did some work > Now I'm done"
其中一件事就是只有第一行显示在hg log中:
$ hg log changeset: 0:d2dc019450a2 tag: tip user: Aaron Maenpaa <zacherates@gmail.com> date: Sat Jan 24 07:46:23 2009 -0500 summary: Did some work
…但是如果你启动了“hg view”,你可以看到整个消息在那里。
编辑添加:
…但是,hg -v日志显示了整个消息:
$ hg -v log changeset: 0:d2dc019450a2 tag: tip user: Aaron Maenpaa <zacherates@gmail.com> date: Sat Jan 24 07:46:23 2009 -0500 files: work description: Did some work Now I'm done
从Windows cmd中 ,执行此命令进行多行提交。
hg commit -l con
这允许您直接从命令行input多行提交消息。 要结束您的消息,请按Enter键 ,然后单击Ctrl + Z并再次input 。
为什么? hg commit
的-l
选项表示从文件读取提交消息, con
指定文件实际上是控制台。
如果你是交互式地(而不是脚本),只需要hg commit
不带-m标志的hg commit
。 我不确定Linux或Mac上的行为是什么,但是在Windows上它会popup记事本,其中包含您填写的文件并保存为多行消息。
我知道,已经有一个Linux用户的解决scheme,但我需要Windows命令行的另一个解决scheme,所以我正在寻找它…
我find了一个: https : //www.mercurial-scm.org/pipermail/mercurial/2011-November/040855.html
hg commit -l filename.txt
我希望对那里的人有用,)
[编辑] o – 它已经被添加到帮助
-l –logfile FILE从文件读取提交消息
下面是另一种更接近你最初尝试的方法:
hg commit -m "$(echo -e 'foo\nbar')"