2013-03-18 41 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

相關問題