当前位置: 首页 > 知识库问答 >
问题:

Mercurial提交失败:“系统找不到指定的文件”,但并未真正指定

单凯捷
2023-03-14

我无法通过Mercurial提交一个文件。以下是该命令的不同变体:

带有--traceback的变体

C:\Users\543829657\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:\Users\543829657\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

我的同事和我已经清理了提交的项目,重新克隆了它,是否删除了更改,检查了所有python脚本和ssh密钥的可访问性……应该可以,但不能。

我有一个怀疑,虽然“--debug”变体中的错误在提交更改日志后出现,但它可能是它的东西?我在项目中没有看到任何名为“changelog”的文件,有三个包含该词,它们显然都是旧的 - 从存储库克隆的。

关于重复的问题。似乎在很多绝对不同的情况下都会弹出该消息或类似的消息:

Mercurial Editor:“abort:The system cannot find The file specified”-在同一脚本的这个位置提交失败,但是…堆栈本身不同,只有提交失败,没有消息。我有口信。作者试图使用另一种默认编辑器,但无法使用,这是他的问题,与我的完全不同。我没有换编辑器。我和编辑没什么麻烦。我已经安装了hg,克隆了项目,更改了一个文件,并想提交它——仅此而已。

TortoiseHg无法提交——“系统找不到指定的文件”——这里的错误消息头不是“abort:”,而是“abort: Adding:”

android studio渐变刷新失败(系统无法找到指定的文件)-此处从android studio调用提交,并指定文件

“中止:系统在Mercurial中找不到指定的文件” - 消息几乎相同,只有丢失的文件是由Mercurial指定的。堆栈是不同的。就我而言,我可以更新,而作者不能。

在SO上的其他情况下,带有该错误消息的不是墨丘利调用错误。

我在不同的网站上看过很多类似的案例,我没有发现同样的问题。总是有一些重要的东西与众不同。

@Leon在下面假设了一个有趣的版本——原因是错误地设置了openssl/gnupg。我检查了openssl的安装,运行了hghelp-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,在这种情况下也不会有任何改变。

共有1个答案

鲜于谦
2023-03-14

堆栈跟踪中的 commitsigs.py 条目表明问题是由提交扩展引起的。检查

  • 您的系统上安装了 gnupg开放
  • 您拥有有效的 GPG 密钥(如果是 gnupg)或 X509 证书(如果是开放),
  • 和提交签名已正确配置(运行 hg 帮助提交以获取详细信息)。特别是,必须正确指定 gnupgopenssl 的路径,否则即使禁用了提交签名模式,也可能会遇到上述问题。
 类似资料:
  • 错误:无法打开初始化脚本“C:\Users\Subash\AppData\Local\Temp\asLocalRepo2”的initscript类缓存。gradle“(C:\Users\Subash.gradle\caches\2.2.1\scripts\asLocalRepo2\U cd0g6mnzdabuvxgeqlhhrxv0q\InitScript\InitScript)。Java语言io

  • 问题内容: 我有一个名为 的文件。 它与我的文件位于同一目录中。 但是,当我尝试通过以下代码访问它时,找不到此文件,发生错误: 这是我的代码: 问题答案: 直接将word.txt作为项目根文件夹的子级和src的对等方放置 免责声明:我想解释一下为什么这种方法适用于这种特殊情况,以及为什么它可能不适用于其他情况。 工作原理: 使用或任何其他变体时,你正在文件系统上相对于“工作目录”查找文件。工作目录

  • 问题内容: 我收到以下错误 但我可以肯定地说,我已经在src,bin和根目录下创建了一个in.txt文件。我还尝试在主要参数中指定完整目录,但仍然无法正常工作。为什么Eclipse不选择它? 问题答案: 我获取了您的代码,并使用以下命令行参数执行了该代码: 它完全没有问题。检查您的命令行。

  • 问题内容: 我正在制作一个打开并读取文件的程序。这是我的代码: 但是当我跑步时,出现以下错误: 我和位于同一目录中的以下位置: 我想知道我在做什么错? 问题答案: 我已经复制了您的代码,并且运行正常。 我怀疑您在hello.txt的实际文件名中仅存在一些问题,或者您在错误的目录中运行。考虑通过@ Eng.Fouad建议的方法进行验证

  • 我有一个名为""的文件。 它与我的< code>java文件在同一个目录中。 但是,当我尝试在以下代码中访问它时,会发生此文件未找到错误: 这是我的代码:

  • 我是编程新手。我最近尝试下载开源软件的源代码并设置环境。但是,当我第一次尝试运行构建时,我看到以下问题: 执行失败:Java . io . io异常:无法运行程序“unzip”(在目录中)....\"): CreateProcess error=2,系统找不到java.lang.ProcessBuilder.start中指定的文件 有什么解决这个问题的技巧吗? 据我所知,它无法成为文件: 在哪里查