programing

Mercurial : 명령 줄에 여러 줄 커밋 메시지가 표시됩니까?

shortcode 2021. 1. 19. 07:33
반응형

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 : 명령 줄에 여러 줄 커밋 메시지가 표시됩니까?

Enter를 누르십시오.

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

그중 하나는 hg 로그에 첫 번째 줄만 표시된다는 것입니다.

$ 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 log는 전체 메시지를 보여줍니다.

$ 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

에서 윈도우 cmd를 , 여러 줄이 커밋이 명령을 수행합니다.

hg commit -l con

이를 통해 명령 줄에서 직접 여러 줄 커밋 메시지를 입력 할 수 있습니다. 메시지를 끝내려면을 누르고 Enter한 줄에서 Ctrl+를 Z누르고 Enter다시 누르십시오 .

왜? 파일에서 커밋 메시지를 읽으 라는 -l옵션 은 파일이 실제로 콘솔임을 지정합니다.hg commitcon


대화식으로 수행하는 경우 (스크립트에서와 비교) hg commit-m 플래그없이 수행하십시오. Linux 또는 Mac에서 동작이 무엇인지 잘 모르겠지만 Windows에서는 여러 줄 메시지를 위해 작성하고 저장 한 파일이있는 메모장이 나타납니다.


이미 Linux 사용자를위한 솔루션이 있지만 Windows 명령 줄에 대한 또 다른 솔루션이 필요했기 때문에 찾고있었습니다.

그리고 하나를 찾았습니다 : https://www.mercurial-scm.org/pipermail/mercurial/2011-November/040855.html

hg commit -l filename.txt

나는 누군가에게 유용하기를 바랍니다.)

[편집] oO-이미 도움말에 추가되었습니다.

-l --logfile FILE 파일에서 커밋 메시지 읽기


처음에 시도한 것과 더 가까운 또 다른 방법이 있습니다.

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

들어 윈도우 파워 쉘 :

 hg commit --message "foo`nbar"

bash에서 (버전 2.0부터) :

hg commit -m $'foo\nbar'

(즉 , 여는 작은 따옴표 앞에 달러 기호넣어 이스케이프 시퀀스를 구문 분석합니다 ( \n)문자열 내에서 와 같이 — 큰 따옴표로는 작동하지 않음).

참조 URL : https://stackoverflow.com/questions/475970/mercurial-multiline-commit-message-on-the-command-line

반응형