2013-03-18 15 views
5

Ho riscontrato il seguente errore durante l'esecuzione di build in teamcity.come eseguire il comando hg recover su un repository remoto

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! 

Ho già provato a eliminare le directory di compilazione su macchine agente, ma ancora ottenere lo stesso errore. Ho anche provato ad eseguire il comando hg recover ma dice che il repository non è locale. Si prega di guidare come correggere questo errore.

risposta

0

Sì, quel comando dovrà essere eseguito sull'host remoto (ad esempio, tramite una shell).

3

Ok, ho affrontato lo stesso problema oggi e questo è stato risolto!

  1. Se lo si sta eseguendo in Windows, quindi aprire Prompt dei comandi.
  2. Tipo,

    hg recuperare -R "remote-percorso-del-tuo-repository"

  3. Si potrebbe prendere un po 'fino a quando il comando termina.

+0

Per me, questo ha provocato: "abort: repository"

0

Ho ricevuto lo stesso problema e ho risolto il problema scaricando la directory cache/mercurial di TEAMCITY. Potrebbe non essere la cosa migliore da fare, ma ora funziona. Il problema con HG proviene da una delle sottocartelle del team citycache ...

Mi ci sono voluti circa 5 ore per capirlo! Dannazione!

+0

Anch'io ottengo un bug per TeamCity: https://youtrack.jetbrains.com/issue/TW-43492 –

4

Ho lo stesso problema, perché la cartella hg non era presente nella cartella del repository. Sono riuscito a risolverlo eseguendo hg recover nella versione memorizzata nella cache del repository. È possibile trovare il repository cache nella directory seguente:

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

si dovrebbe vedere alcune cartelle con i nomi come hg_7282240431393414416 e un file di map (senza estensione) a quella cartella. Esistono associazioni dal repository alle cartelle memorizzate in questo file. Il file contiene alcune righe come:

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

dovete trovare la cartella corrispondente al repository (dopo il cartello equazione) in questo file ed eseguire maphg recover in quella cartella corrispondente. L'esecuzione di questo comando potrebbe richiedere del tempo.

Si prega di notare: nomi di squadre, archivi e nomi di cartelle sono solo a scopo dimostrativo.

Spero che possa essere d'aiuto!

+0

.. \ ProgramData \ JetBrains \ TeamCity \ system \ cache \ mercurial è il percorso predefinito, nel nostro caso avevamo impostato la posizione della cache altrove, cosa che ci ha lasciato per un po '. – JonLord