1

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

当我执行命令时:

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

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

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

    HG:输入提交信息。删除以“HG:”开头的行。HG:将消息留空以中止提交。... ETC ...

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

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

1 回答 1

1

我认为您会发现问题仅在您已经有一个geditopen 实例时才会出现(即几乎总是因为您在编程时这样做)。当您运行gedit以编辑提交消息时,它会告诉您当前正在运行的gedit实例加载文件然后退出。问题在于 Mercurial 假定您在编辑器退出时已经完成了对提交消息的编辑,但在本例中并非如此。

这个问题已经在 Mercurial 邮件列表中讨论过,这里,但该线程没有提出解决问题的方法。

这个答案意味着将您的编辑器设置为gedit --new-window可能会起作用,但我无法自己测试它,因为我不使用 Linux。

于 2013-07-24T11:44:30.433 回答