5

在 teamcity 中运行构建时出现以下错误。

Failed to collect changes, error: '"C:\Program Files\TortoiseHg\hg.exe" --config ui.interactive=False pull https://test:******@hg.myrepo.co.uk/terriff' command failed.
stdout: pulling from https://test:***@hg.myrepo.co.uk/terriff
searching for changes

stderr: abort: abandoned transaction found - run hg recover!

我已经尝试删除代理机器上的构建目录,但仍然遇到同样的错误。还尝试运行 hg recover 命令,但它说存储库不是本地的。请指导如何修复此错误。

4

4 回答 4

5

我有同样的问题,因为hg存储库文件夹中缺少我的文件夹。我设法修复它在存储库hg recover缓存版本上运行。您可以在以下目录中找到缓存的存储库:

..\ProgramData\JetBrains\TeamCity\system\caches\mercurial

您应该会在该文件夹中看到一些名称为 like的文件夹hg_7282240431393414416和一个文件map(没有扩展名)。存在从存储库到存储在此文件中的文件夹的映射。该文件包含几行,例如:

https://bitbucket.org/{teamname1}/{repo1}/ = hg_7282240431393414416
https://bitbucket.org/{teamname1}/{repo2}/ = hg_7282240431393414417
https://bitbucket.org/{teamname2}/{repo3}/ = hg_7282240431393414418

您必须在此文件中找到与您的存储库相对应的文件夹(在等式符号之后)并在相应的文件夹中map运行hg recover。运行此命令可能需要一些时间。

请注意:团队名称、存储库和文件夹名称仅用于演示。

我希望它会有所帮助!

于 2015-06-02T10:33:19.647 回答
3

好的,我今天遇到了同样的问题,这就是我解决它的方法!

  1. 如果您在 Windows 中运行它,请打开命令提示符。
  2. 类型,

    hg recover -R "remote-path-of-your-repository"

  3. 命令完成可能需要一段时间。

于 2014-07-29T06:58:26.680 回答
0

我遇到了同样的问题,我通过删除 TEAMCITY 的缓存/mercurial 目录解决了这个问题。这可能不是最好的做法,但它现在正在发挥作用。HG的问题来自团队citycache的子文件夹之一......

我花了大约5个小时才理解它!该死!

于 2015-02-13T22:15:25.550 回答
-1

是的,该命令必须在远程主机上运行(例如,通过 shell)。

于 2013-03-19T13:25:06.700 回答