2010-06-09 19 views
5

Ho uno strano problema con l'aggiornamento di Mercurial. Ogni volta che aggiungo un file al mio repository e poi aggiorno un'altra posizione del repository (ad esempio con il processo CI), si verifica l'errore "nessuna corrispondenza trovata". Quindi, quando rimuovo l'intera cartella e la clonazione di nuovo, non ci sono problemi e ci sono i nuovi file aggiunti. Aggiornamento e rimozione di doesnt dare problemiMercurial aggiungendo un nuovo file non ha trovato nessun errore trovato

Quando faccio "a" Verificare viene mostrato il seguente:

data/[email protected]: revlog manca! 54: test.txt vuoto o mancante [email protected]: b80de5d13875 nei manifesti non trovato 3 errori di integrità incontrati! (il primo changeset danneggiato sembra essere 54)

Qualche idea di cosa potrebbe causare questo?

EDIT

La traccia completa:

ThoughtWorks.CruiseControl.Core.CruiseControlException: operazione di controllo Fonte riuscita: abort: data/[email protected]: alcuna corrispondenza trovata ! . comando Process: hg aggiornamento --noninteractive a ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute (ProcessInfo ProcessInfo) a ThoughtWorks.CruiseControl.Core.Sourcecontrol.Mercurial.Mercurial.GetSource (IIntegrationResult risultato) a ThoughtWorks .CruiseControl.Core.IntegrationRunner.Build (IIntegrationResult risultato) a ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate (IntegrationRequest richiesta)

+0

Puoi pubblicare una traccia che mostri i comandi esatti che stai eseguendo e l'output che danno? – crazyscot

+0

Sembra che tu sia riuscito in qualche modo a ottenere un repository corrotto. Questo appartiene più correttamente alla mailing list di mercurial o al canale IRC di freenode perché sembra un bug. – Omnifarious

+0

Come posso eseguire una traccia? – Ivo

risposta

2

La "corruzione repository" non è evidente qui, dal momento che è possibile clonare di nuovo e recupera il tutto con tenda (vecchia e appena aggiunta).
Così i diversi punti da controllare sono:

1/processo conflitti di qualche tipo (qualcosa impedendo data/[email protected] da scrivere, anche in modo che il contenuto del file viene registrato)
2/hg revlog e hg debugindex, per verificare le versioni effettivamente registrate nel repository.
3/hg verify per escludere qualsiasi danneggiamento del repository.
4/check the integrity of your repo

+0

Grazie ho intenzione di provare questo, ti farò sapere il risultato – Ivo

+0

Il problema è risolto, ho cambiato l'utente Commit sul repository e la cartella del progetto e ora è risolto – Ivo