2013-03-18 39 views
5

在teamcity中运行构建时出现以下错误。如何在远程存储库上运行hg recover命令

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

是的,该命令将不得不在远程主机上运行(例如,通过一个shell)。

3

好吧,我今天面临同样的问题,这就是我如何修复它!

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

    汞回收-R“远程路径的,你的仓库”

  3. 这可能需要一段时间,直到命令完成。

+0

对我来说,这导致:“abort:repository'<远程路径的存储库'不是本地的”。 GoogleHireMe的回答适合我。 – 2016-05-24 11:26:43

0

我得到了同样的问题,我通过废除TEAMCITY的缓存/ mercurial目录来解决这个问题。这可能不是最好的事情,但它现在正在工作。 HG的问题来自团队citycache的其中一个子文件夹...

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

+0

我也是这样,为TeamCity发布了一个bug:https://youtrack.jetbrains.com/issue/TW-43492 – 2015-12-09 13:24:49

4

我有同样的问题,因为我的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。运行此命令可能需要一些时间。

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

我希望它能帮上忙!

+0

.. \ ProgramData \ JetBrains \ TeamCity \ system \ caches \ mercurial是默认位置,在我们的例子中我们在其他地方设置了缓存位置,这让我们陷入了一些困境。 – JonLord 2016-06-22 16:58:02

相关问题