Подтвердить что ты не робот

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
4b9b3361

Ответ 1

Mercurial: многострочное сообщение фиксации на командной строки?

Нажмите Enter.

$ hg commit -m "Did some work
> Now I'm done"

Одна из вещей заключается в том, что в 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

... но если вы запустили "hg view", вы увидите, что все сообщение есть.

Отредактировано для добавления:

... но hg -v log показывает все сообщение:

$ 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

Ответ 2

От Windows cmd выполните эту команду для многострочного фиксации.

hg commit -l con

Это позволяет вам вводить сообщение о фиксации нескольких строк прямо из командной строки. Чтобы закончить свое сообщение, нажмите Enter, а по отдельной строке удалите Ctrl + Z и Enter снова.

Почему? Опция -l для hg commit говорит, чтобы прочитать сообщение фиксации из файла, а con указывает, что файл на самом деле является консолью.

Ответ 3

Если вы делаете это интерактивно (по сравнению с script), просто hg commit без флага -m. Я не уверен, что такое поведение на Linux или Mac, но в Windows он выводит блокнот с файлом, который вы заполняете и сохраняете для многострочного сообщения.

Ответ 4

Я знаю, что уже есть решение для пользователей Linux, но мне нужно другое решение для командной строки Windows, поэтому я искал его...

И я нашел одно: https://www.mercurial-scm.org/pipermail/mercurial/2011-November/040855.html

hg commit -l filename.txt

Надеюсь, это полезно для кого-то там,)

[EDIT] oO - он уже добавлен в справку

-l -logfile FILE читать сообщение фиксации из файла

Ответ 5

Здесь другой способ, который ближе к тому, что вы пробовали вначале:

hg commit -m "$(echo -e 'foo\nbar')"