2012-05-30 2 views
15

Occasionalmente quando si esegue un rebase utilizzando il plugin MercurialEclipse il mio repository viene gettato in uno stato dispari. Diventerà bloccato in uno stato "ribasamento", ma quando si tenta di interrompere il rebase (ad esempio "hg rebase -a") ottengo questo messaggio di errore:hg rebase abort fallisce: "revisione sconosciuta"

abortire: sconosciuto revisione 'xxxx'!

Dove xxxx è un hash di revisione. Di solito a questo punto ho abbandonato ogni speranza di eseguire il rebase - voglio solo tornare in un momento più felice quando il mio repository non è stato rovinato. Finora la mia soluzione è stata quella di nuotare la directory del mio progetto e clonarla di nuovo. C'è una soluzione meno drastica?

+1

Posso confermare che il problema esiste ancora, questo è stato discusso negli elenchi: http://comments.gmane.org/gmane.comp.version-control.mercurial.devel/36295 ma nessuna correzione è ancora in – jontro

risposta

18

Basta rimuovere .hg/rebasestate e il repository funzionerà.

La patch descritta nel thread this chiama la funzione interna clearstate che semplicemente scollega questo file.

+0

Hah, ha funzionato! Grazie anche per aver trovato il problema sulla hg devlist. Forse possiamo rivisitare questa risposta una volta risolto il problema. – NobodyMan

2

In situazioni simili a questo, faccio di solito:

$ hg check 
$ hg verify 
$ hg up -C default 

Invece di default, utilizzare qualsiasi ramo su cui stai lavorando. Questo richiede tempo, ma anche la clonazione del repository.

Di solito aiuta.

+1

Nessun dado , purtroppo. – NobodyMan