Mercurial 提交失败:"The system cannot find the file specified",但并未真正指定
Mercurial commit fails: "The system cannot find the file specified", but it is not really specified
我无法通过 Mercurial 提交单个文件。以下是该命令的不同变体:
带--traceback的变体
C:\Users3829657\workspace\dev.appl.ib.cbl>hg commit --traceback "--message=Ad
ded a task Xml2Java for creation request/response files" --user "Petr Gangnus <petr.gangnus@moneta.cz>" -- application/build.gradle
transaction abort!
rollback completed
Traceback (most recent call last):
File "mercurial\dispatch.pyo", line 160, in _runcatch
File "mercurial\dispatch.pyo", line 885, in _dispatch
File "mercurial\dispatch.pyo", line 646, in runcommand
File "mercurial\extensions.pyo", line 168, in closure
File "hgext\color.pyo", line 521, in colorcmd
File "mercurial\dispatch.pyo", line 976, in _runcommand
File "mercurial\dispatch.pyo", line 947, in checkargs
File "mercurial\dispatch.pyo", line 882, in <lambda>
File "mercurial\util.pyo", line 716, in check
File "mercurial\commands.pyo", line 1546, in commit
File "mercurial\cmdutil.pyo", line 2456, in commit
File "mercurial\commands.pyo", line 1540, in commitfunc
File "mercurial\localrepo.pyo", line 64, in wrapper
File "mercurial\localrepo.pyo", line 1508, in commit
File "mercurial\localrepo.pyo", line 64, in wrapper
File "mercurial\localrepo.pyo", line 1596, in commitctx
File "mercurial\extensions.pyo", line 168, in closure
File "c:/Users/543829657/workspace/mercurial-tools/commitsigs.py", line 357, in add
File "c:/Users/543829657/workspace/mercurial-tools/commitsigs.py", line 168, in opensslsign
File "subprocess.pyo", line 710, in __init__
File "subprocess.pyo", line 958, in _execute_child
WindowsError: [Error 2] The system cannot find the file specified
abort: The system cannot find the file specified
带 --debug 的变体
C:\Users3829657\workspace\dev.appl.ib.cbl>hg commit --debug "--message=
Added a task Xml2Java for creation request/response files" --user "Petr Gangnus <petr.gangnus@moneta.cz>"
-- application/build.gradle
calling hook precommit.checkfiles: hghook_precommit_checkfiles.fixup_hook
checkfiles: removing tabs and/or trailing whitespace in changed files...
checkfiles: opts:
checkfiles: checked extensions:
checkfiles: ignored extensions: .sln .suo .vcproj .csproj .ui
checkfiles: ignored files:
checkfiles: check diffs only: False
checkfiles: use spaces: True
checkfiles: tab size: 4
checkfiles: considering files:
application/build.gradle
checkfiles: application/build.gradle ok
committing files:
application/build.gradle
committing manifest
committing changelog
transaction abort!
rollback completed
abort: The system cannot find the file specified
我和我的同事已经清理了提交的项目,re-cloned 它,是否提取更改,检查了所有 python 脚本和 ssh 密钥的可达性...应该没问题,但它不是。
我怀疑虽然在提交更新日志后出现了“--debug”变体中的错误,但它可能与它有关吗?我在项目中没有看到任何名为 "changelog" 的文件,并且有三个包含该词的文件,它们显然都是旧的 - 从存储库中克隆。
关于重复的问题。似乎在很多完全不同的情况下弹出那个或类似的消息:
Mercurial Editor: "abort: The system cannot find the file specified" - 在同一个脚本的这个地方提交失败,但是......堆栈本身是不同的,只有提交失败而没有消息。 我有消息。并且作者尝试使用替代默认编辑器但不能 - 这是他的问题,与我的完全不同。 我没有更换编辑器。我对编辑器没有任何问题。我已经安装了 hg,克隆了项目,更改了一个文件并想提交它 - 仅此而已。
TortoiseHg can't commit--"The system cannot find the file specified" - 这里的错误信息header不是"abort:",而是"abort: Adding: "
- 此处从 Android Studio 调用提交并指定文件
- 消息几乎相同,只有 Mercurial 指定了丢失的文件。而堆栈是不同的。在我的情况下,我可以更新,而作者不能。
在 SO 的其他情况下,出现该错误消息的不是 Mercurial 引起的错误。
我在不同的网站上看了很多类似的案例,但我没有发现相同的问题。重要的事情总是不同的。
@Leon 在下面假设了一个有趣的版本 - 原因设置不正确 openssl/gnupg。我已经检查了 openssl 的安装,运行 hg help commitsigs
- 并阅读了输出,注意到 属性 和 forcesign
这样有趣。
If the parametr is specified with a value of 1, the commit process will be
aborted and rolled back if the changeset cannot be signed for whatever reason
(bad setup, expired certificate and so on. The default is that the commit
will still be successful, but not signed.
是的,看起来很有希望。 ...但是即使将 属性 设置为 0 也没有改变任何情况。
堆栈跟踪中的 commitsigs.py
条目表明问题是由 Commitsigs Extension 引起的。检查
- 您的系统上安装了
gnupg
或 openssl
- 您拥有有效的 GPG 密钥(如果是
gnupg
)或 X509 证书(如果是 openssl
)
- 并且 Commitsigs 已正确配置(运行
hg help commitsigs
了解详情)。特别是,必须正确指定 gnupg
或 openssl
的路径,否则即使禁用 commitsigs.forcesign
模式,您也可能 运行 进入所描述的问题。
我无法通过 Mercurial 提交单个文件。以下是该命令的不同变体:
带--traceback的变体
C:\Users3829657\workspace\dev.appl.ib.cbl>hg commit --traceback "--message=Ad
ded a task Xml2Java for creation request/response files" --user "Petr Gangnus <petr.gangnus@moneta.cz>" -- application/build.gradle
transaction abort!
rollback completed
Traceback (most recent call last):
File "mercurial\dispatch.pyo", line 160, in _runcatch
File "mercurial\dispatch.pyo", line 885, in _dispatch
File "mercurial\dispatch.pyo", line 646, in runcommand
File "mercurial\extensions.pyo", line 168, in closure
File "hgext\color.pyo", line 521, in colorcmd
File "mercurial\dispatch.pyo", line 976, in _runcommand
File "mercurial\dispatch.pyo", line 947, in checkargs
File "mercurial\dispatch.pyo", line 882, in <lambda>
File "mercurial\util.pyo", line 716, in check
File "mercurial\commands.pyo", line 1546, in commit
File "mercurial\cmdutil.pyo", line 2456, in commit
File "mercurial\commands.pyo", line 1540, in commitfunc
File "mercurial\localrepo.pyo", line 64, in wrapper
File "mercurial\localrepo.pyo", line 1508, in commit
File "mercurial\localrepo.pyo", line 64, in wrapper
File "mercurial\localrepo.pyo", line 1596, in commitctx
File "mercurial\extensions.pyo", line 168, in closure
File "c:/Users/543829657/workspace/mercurial-tools/commitsigs.py", line 357, in add
File "c:/Users/543829657/workspace/mercurial-tools/commitsigs.py", line 168, in opensslsign
File "subprocess.pyo", line 710, in __init__
File "subprocess.pyo", line 958, in _execute_child
WindowsError: [Error 2] The system cannot find the file specified
abort: The system cannot find the file specified
带 --debug 的变体
C:\Users3829657\workspace\dev.appl.ib.cbl>hg commit --debug "--message=
Added a task Xml2Java for creation request/response files" --user "Petr Gangnus <petr.gangnus@moneta.cz>"
-- application/build.gradle
calling hook precommit.checkfiles: hghook_precommit_checkfiles.fixup_hook
checkfiles: removing tabs and/or trailing whitespace in changed files...
checkfiles: opts:
checkfiles: checked extensions:
checkfiles: ignored extensions: .sln .suo .vcproj .csproj .ui
checkfiles: ignored files:
checkfiles: check diffs only: False
checkfiles: use spaces: True
checkfiles: tab size: 4
checkfiles: considering files:
application/build.gradle
checkfiles: application/build.gradle ok
committing files:
application/build.gradle
committing manifest
committing changelog
transaction abort!
rollback completed
abort: The system cannot find the file specified
我和我的同事已经清理了提交的项目,re-cloned 它,是否提取更改,检查了所有 python 脚本和 ssh 密钥的可达性...应该没问题,但它不是。
我怀疑虽然在提交更新日志后出现了“--debug”变体中的错误,但它可能与它有关吗?我在项目中没有看到任何名为 "changelog" 的文件,并且有三个包含该词的文件,它们显然都是旧的 - 从存储库中克隆。
关于重复的问题。似乎在很多完全不同的情况下弹出那个或类似的消息:
Mercurial Editor: "abort: The system cannot find the file specified" - 在同一个脚本的这个地方提交失败,但是......堆栈本身是不同的,只有提交失败而没有消息。 我有消息。并且作者尝试使用替代默认编辑器但不能 - 这是他的问题,与我的完全不同。 我没有更换编辑器。我对编辑器没有任何问题。我已经安装了 hg,克隆了项目,更改了一个文件并想提交它 - 仅此而已。
TortoiseHg can't commit--"The system cannot find the file specified" - 这里的错误信息header不是"abort:",而是"abort: Adding: "
在 SO 的其他情况下,出现该错误消息的不是 Mercurial 引起的错误。
我在不同的网站上看了很多类似的案例,但我没有发现相同的问题。重要的事情总是不同的。
@Leon 在下面假设了一个有趣的版本 - 原因设置不正确 openssl/gnupg。我已经检查了 openssl 的安装,运行 hg help commitsigs
- 并阅读了输出,注意到 属性 和 forcesign
这样有趣。
If the parametr is specified with a value of 1, the commit process will be
aborted and rolled back if the changeset cannot be signed for whatever reason
(bad setup, expired certificate and so on. The default is that the commit
will still be successful, but not signed.
是的,看起来很有希望。 ...但是即使将 属性 设置为 0 也没有改变任何情况。
堆栈跟踪中的 commitsigs.py
条目表明问题是由 Commitsigs Extension 引起的。检查
- 您的系统上安装了
gnupg
或openssl
- 您拥有有效的 GPG 密钥(如果是
gnupg
)或 X509 证书(如果是openssl
) - 并且 Commitsigs 已正确配置(运行
hg help commitsigs
了解详情)。特别是,必须正确指定gnupg
或openssl
的路径,否则即使禁用commitsigs.forcesign
模式,您也可能 运行 进入所描述的问题。