代码之家  ›  专栏  ›  技术社区  ›  Martin

mercurial:命令行上有多行提交消息?

  •  53
  • Martin  · 技术社区  · 15 年前

    如何在命令行上为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
    
    7 回复  |  直到 6 年前
        1
  •  77
  •   Aaron Maenpaa    15 年前

    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
    
        2
  •  16
  •   Cody Piersall    10 年前

    窗口CMD ,对多行提交执行此命令。

    hg commit -l con
    

    这允许您直接从命令行输入多行提交消息。要结束您的信息,请点击 进入 在一条线上自己点击 Ctrl键 + 进入 再一次。

    为什么? 这个 -l 选择权 hg commit 表示从文件中读取提交消息,以及 con 指定文件实际上是控制台。

        3
  •  9
  •   Jason S    15 年前

    如果你是以交互方式(而不是从脚本中)做的,就做吧。 hg commit 没有-m标志。我不知道Linux或Mac上的行为是什么,但在Windows上,它会弹出一个记事本,其中包含一个文件,您可以填写该文件并保存以获得多行消息。

        4
  •  4
  •   Vadim Kotov First Zero    7 年前

    我知道,已经有一个针对Linux用户的解决方案,但是我需要另一个针对Windows命令行的解决方案,所以我正在寻找它…

    我发现了一个: https://www.mercurial-scm.org/pipermail/mercurial/2011-November/040855.html

    hg commit -l filename.txt
    

    我希望,这对外面的人有用,)

    [编辑] oo-它已添加到帮助中

    -L—日志文件从文件读取提交消息

        5
  •  2
  •   Leslie P. Polzer    15 年前

    这是另一种更接近你最初尝试的方法:

    hg commit -m "$(echo -e 'foo\nbar')"
    
        6
  •  0
  •   CodeFox    6 年前

    为了 窗户 使用PowerShell:

     hg commit --message "foo`nbar"
    
        7
  •  0
  •   Sasha    6 年前

    在bash中(从2.0版开始):

    hg commit -m $'foo\nbar'
    

    (也就是说 美元符号 在开始的单引号之前,使其解析转义序列(如 \n) 在字符串_中注意,它不适用于双引号。)