弹出文本编辑器时,Mercurial提交失败

时间:2013-07-24 11:03:37

标签: mercurial ubuntu-12.04

Mercurial相当新,我想执行我个人项目的初始提交。我在我的Ubuntu 12.04机器上本地工作。

当我执行命令时:

hg init [folder]
cd [folder]
hg add
hg commit

在提交时出现问题并且提交被中止。我注意到两件不正常的事情:

  • Mercurial 打开,但不等待退出 gedit窗口,所以当我编辑文件时,hg已经中止了提交,因为邮件是空的;
  • gedit弹出一个空文件,而不是通常的

    HG:输入提交消息。以'HG:'开头的行将被删除。 HG:将消息留空以中止提交。 ......等......

我如何让这个工作? 另请注意以下命令有效!

hg commit -m 'initial commit'

我的Mercurial配置文件如下所示:

# User Interface settings
[ui]
username= Niccolò X <mymail@x.is>
editor = gedit
merge=meld

# Enabled extensions
[extensions]
hgext.gpg=
hgext.convert=

# GPG extension settings
#[gpg]
#key=<your private gpg key>

1 个答案:

答案 0 :(得分:1)

我认为你会发现问题只发生在你已经有一个gedit实例打开的时候(就像你在编程时所做的一样)。当您运行gedit来编辑提交消息时,它会告诉您当前正在运行的gedit实例加载文件然后退出。问题在于Mercurial假定您在编辑器退出时编辑了提交消息,而在此实例中并非如此。

Mercurial邮件列表here已经讨论过这个问题,但线程没有找到解决问题的方法。

This回答意味着将编辑器设置为gedit --new-window可能会有效,但由于我不使用Linux,因此无法自行测试。