Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当文本编辑器弹出时,Mercurial提交失败_Mercurial_Ubuntu 12.04 - Fatal编程技术网

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

当文本编辑器弹出时,Mercurial提交失败,mercurial,ubuntu-12.04,Mercurial,Ubuntu 12.04,对于Mercurial来说,我是个新手,我想执行我个人项目的初始提交。我正在本地使用我的Ubuntu 12.04机器 执行命令时: hg init [folder] cd [folder] hg add hg commit 在提交时,出现了一些错误,提交被中止。我注意到两件不正常的事情: Mercurial打开但不等待退出一个空的gedit窗口,因此当我编辑文件时,hg已经中止提交,因为消息是空的 gedit弹出一个空文件,而不是通常的文件 HG:输入提交消息。以“HG:”开头的行将被删除。

对于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>
#用户界面设置
[用户界面]
用户名=NiccolòX
编辑器=gedit
合并=合并
#启用的扩展
[延期]
hgext.gpg=
hgext.convert=
#GPG扩展设置
#[gpg]
#钥匙=

我想您会发现,只有当您已经打开了
gedit
的实例时,问题才会出现(也就是说,编程时通常都是这样做的)。当您运行
gedit
编辑提交消息时,它会告诉您当前运行的
gedit
实例加载文件,然后退出。问题在于,Mercurial假设您在编辑器退出时编辑了提交消息,而本例中并非如此

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


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

我想您会发现,只有当您已经打开了
gedit
的实例时,问题才会出现(也就是说,编程时通常都是这样)。当您运行
gedit
编辑提交消息时,它会告诉您当前运行的
gedit
实例加载文件,然后退出。问题在于,Mercurial假设您在编辑器退出时编辑了提交消息,而本例中并非如此

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


答案意味着将编辑器设置为
gedit--newwindow
可能会工作,但我自己无法测试它,因为我不使用Linux。

感谢您找到了问题所在。邮件列表中的讨论很清楚。不幸的是,使用--new窗口启动gedit没有任何帮助,因为它的工作方式与不带选项的gedit相同:它调用现有的gedit进程并在编辑文件之前返回:(除了上述讨论之外,此链接还解释了为什么gedit只保留一个进程,这要归功于找到问题所在。邮件列表中的讨论很清楚。不幸的是,使用--new窗口启动gedit没有帮助,因为它的工作方式与gedit相同,没有选项:它调用现有的gedit进程并在之前返回编辑文件:(除了上述讨论之外,此链接解释了为什么gedit只保留一个进程