Jak wspomniano wcześniej (chociaż już potwierdziła to nie działa), należy zacząć od próby klonowania repozytorium; jeśli problemy są związane z dirstate, można to obejść.
Następnie każdy klon zawiera pełne repozytorium, więc każdy klon jest faktycznie kopią zapasową. Nie masz centralnego serwera lub współpracownika lub innej lokalnej kopii? Spróbuj sklonować to, a następnie wyciągając z uszkodzonego repozytorium. Jako pierwszy uszkodzony zestaw zmian jest zgłaszany jako nie. 7 (na 270), to powinno być dość stare, a więc najprawdopodobniej łatwe do odzyskania, i miejmy nadzieję, że obrażenia nie powstrzymają Mercurial przed ciągnięciem zmian.
Trzecią opcją, którą można wypróbować, jest uruchomienie konwersji Mercurial-Mercurial na twoim repozytorium (hg convert repo repo-copy
); dosłowna konwersja powinna zachować nietknięte identyfikatory zestawu zmian, chociaż prawdopodobnie wystąpi ten sam problem. Można również spróbować określić filemap, aby odfiltrować plik ViewInstanceAdapter.
Ponieważ uszkodzony zestaw zmian jest tak stary i biorąc pod uwagę, że Mercurial używa metody zapisu tylko do zapisu, prawdopodobną przyczyną tego problemu jest awaria sprzętu lub przypadkowe uszkodzenie dysku.
Należy pamiętać, że Mercurial nie jest systemem zapasowym i nie zapewnia nadmiarowości. Częste tworzenie kopii zapasowych (które w przypadku Mercurial jest tak proste jak "push") jest jedynym sposobem, aby upewnić się, że nie stracisz cennego kodu.
Alternatywną przyczyną, dla której uważam, że powinienem Cię ostrzec, są skanery antywirusowe lub usługa indeksowania systemu Windows. Te pliki blokujące w pewien sposób uniemożliwiają ich usunięcie w krótkich oknach czasowych. Chociaż Mercurial dokłada wszelkich starań, aby być solidnym, trudno jest bronić się przed wszystkimi przypadkami. Zaleca się białą listę swoich repozytoriów, patrz: this note.
Wszelkie szansa to repozytorium znajduje się w folderze Dropbox lub podobnego synchronizacji? –
Nie, pracowałem sam i nigdy tego nie udostępniłem. – Leto
Spróbuj 'hg verify -v', pokaż log. Spróbuj sklonować to repo i sklonuj - niektóre szanse na zniknięcie istnieją –