Mercurial: multiline commit message on the command line?
Mercurial: multiline commit message on the command line?
Hit enter.
$ hg commit -m "Did some work
> Now I'm done"
One of the things is that only the first line shows up in hg log:
$ 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
... but if you fire up "hg view" you can see that the whole message is there.
Edited to add:
... but hg -v log shows the whole message:
$ 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
From Windows cmd, do this command for a multiline commit.
hg commit -l con
This allows you to enter a multiple line commit message straight from the command line. To end your message, hit Enter, and on a line by itself hit Ctrl + Z and Enter again.
Why? The -l
option to hg commit
says to read the commit message from a file, and con
specifies that the file is actually the console.
If you're doing it interactively (vs. from a script), just do hg commit
without the -m flag. I'm not sure what the behavior is on Linux or Mac, but on Windows it pops up Notepad with a file that you fill out and save for a multiline message.
I know, there is already a solution for linux users, but I needed another solution for windows command line, so I was looking for it...
And I found one: https://www.mercurial-scm.org/pipermail/mercurial/2011-November/040855.html
hg commit -l filename.txt
I hope, it's useful for someone out there ,)
[EDIT] oO - it has already been added to the help
-l --logfile FILE read commit message from file