2012-05-30 16 views
15

Od czasu do czasu, gdy wykonuję rebase przy użyciu wtyczki MercurialEclipse, moje repozytorium zostaje rzucone w nieparzysty stan. Będzie on utknąć w „podścielanie” stanie, ale gdy próbuję przerwać rebase (na przykład „hg rebase -a”) pojawia się komunikat o błędzie:hg rebase abort nie powiedzie się: "nieznana wersja"

abort: nieznany rewizję xxxx '!

Gdzie xxxx to mieszanie wersji. Zwykle w tym momencie porzuciłem wszelką nadzieję na wykonanie rebase - po prostu chcę wrócić do szczęśliwszego czasu, kiedy moje repozytorium nie zostało zepsute. Do tej pory moim rozwiązaniem było nuke mój katalog projektu i sklonować go ponownie. Czy istnieje mniej drastyczne rozwiązanie?

+1

Mogę potwierdzić, że problem nadal istnieje, zostało to omówione na listach: http://comments.gmane.org/gmane.comp.version-control.mercurial.devel/36295, ale żadna poprawka nie jest nadal dostępna w – jontro

Odpowiedz

18

Po prostu usuń .hg/rebasestate, a twoje ponowne uruchomienie zadziała.

Poprawka opisana w wątku this nazywa wewnętrzną funkcję clearstate, która po prostu rozłącza ten plik.

+0

Hah, zadziałało! Dziękuję również za znalezienie problemu na stronie devglist. Być może możemy ponownie przyjrzeć się tej odpowiedzi po naprawieniu problemu. – NobodyMan

2

W sytuacjach podobnych do tego, zwykle zrobić:

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

Zamiast default, zastosowanie niezależnie od oddziału, nad którym pracujesz. To wymaga czasu, ale tak samo jest z ponownym klonowaniem repozytorium.

Zazwyczaj pomaga.

+1

Brak kostki , Niestety. – NobodyMan

Powiązane problemy