如何在命令行上为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指定多行提交消息?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
水银:多行上 命令行提交消息?
点击进入。
$ hg commit -m "Did some work
> Now I'm done"
的事情之一,是只有第一行中的汞日志显示了:
$ hg log
changeset: 0:d2dc019450a2
tag: tip
user: Aaron Maenpaa <[email protected]>
date: Sat Jan 24 07:46:23 2009 -0500
summary: Did some work
...但如果你火了“汞视图”,你可以看到整个消息那里。
编辑补充:
...但汞-v日志显示整个消息:
$ hg -v log
changeset: 0:d2dc019450a2
tag: tip
user: Aaron Maenpaa <[email protected]>
date: Sat Jan 24 07:46:23 2009 -0500
files: work
description:
Did some work
Now I'm done
“Enter”行为依赖于类似UNIX的shell。有没有办法与Windows CMD做到这一点? – 2009-01-24 12:52:12
@Hosam除了安装cygwin(或mingwin)和使用bash我什么也想不到。 – 2009-01-24 13:02:20
如果你(对从脚本)交互做,只是做hg commit
没有-m标志。我不确定Linux或Mac上的行为是什么,但在Windows上,它会弹出一个记事本文件,您可以填写并保存多行消息。
这里的另一种方式,是更接近您最初试图什么:
hg commit -m "$(echo -e 'foo\nbar')"
我所知,目前已经是Linux用户的解决方案,但我需要为Windows命令行另一种解决办法,所以我很寻找它...
而且我发现一个: https://www.mercurial-scm.org/pipermail/mercurial/2011-November/040855.html
hg commit -l filename.txt
我希望,这是有用的人在那里,)
[编辑] OO - 它已经被添加到帮助
-l --logfile文件从文件中读取
从的Windows在cmd提交信息,这样做的命令用于多行提交。
hg commit -l con
这允许您直接从命令行输入多行提交消息。要结束的消息,打输入,并在线通过自身打按Ctrl +ž和再次输入。
为什么?-l
选项hg commit
表示从文件读取提交消息,con
指定文件实际上是控制台。
对于的Windows使用PowerShell:
hg commit --message "foo`nbar"
我想这必须通过命令外壳本身来解决。如果你的命令行可以给你提供一些多行文本作为单一参数(也许在行尾有一个'\'),那么HG shold就没有问题了...... – 2009-01-24 12:44:48
是的,我猜你是对的。然而,这是我个人唯一的使用场合,我会定期使用它,这就是为什么我没有问它作为一个bash问题。 – Martin 2009-01-24 12:50:20