在teamcity中运行build时出现以下错误。
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命令,但它说存储库不是本地的。请指导如何解决此错误。
答案 0 :(得分:5)
我遇到同样的问题,因为存储库文件夹中缺少hg
文件夹。我设法修复了在存储库的缓存版本上运行hg recover
的问题。您可以在以下目录中找到缓存的存储库:
..\ProgramData\JetBrains\TeamCity\system\caches\mercurial
您应该会在该文件夹中看到一些名称为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
。运行此命令可能需要一些时间。
请注意: 团队名称,存储库和文件夹名称仅供演示。
我希望它会有所帮助!
答案 1 :(得分:3)
好的,我今天遇到了同样的问题,这就是我修复它的方法!
输入,
hg recover -R“remote-path-of-your-repository”
命令完成可能需要一段时间。
答案 2 :(得分:0)
是的,该命令必须在远程主机上运行(例如,通过shell)。
答案 3 :(得分:0)
我遇到了同样的问题,我通过废弃TEAMCITY的cache / mercurial目录来解决这个问题。这可能不是最好的事情,但它现在正在发挥作用。 HG的问题来自团队citycache的一个子文件夹......
我花了大约5个小时来理解它!该死!