当文本编辑器弹出时,Mercurial提交失败
对于Mercurial来说,我是个新手,我想执行我个人项目的初始提交。我正在本地使用我的Ubuntu 12.04机器 执行命令时:当文本编辑器弹出时,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:”开头的行将被删除。
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只保留一个进程