2011-01-27 12 views
64

Czy ktoś może mi powiedzieć, co oznacza ten błąd rtęciowy?Mercurial: "nieśledzony plik w katalogu roboczym różni się od pliku w żądanej wersji"?

plik untracked w katalogu pracy różni się od pliku w wymaganym rewizji

nastąpiło to, gdy robi hg pobrania:

C:\myapp>hg fetch ssh://hg/myapp-v1 
pulling from ssh://hg/myapp-v1 
searching for changes 
adding changesets 
adding manifests 
adding file changes 
added 93 changesets with 693 changes to 78 files (+1 heads) 
updating to 797:0df7dbe7dc06 
196 files updated, 0 files merged, 196 files removed, 0 files unresolved 
merging with 704:edb7765768c6 
abort: untracked file in working directory differs from file in requested revision: 'a/b/c/d.java' 

Z tego co mogę powiedzieć tego pliku (a/b/c/d.java) nie pasuje do żadnych ścieżek skonfigurowanych w .hgignore. Ten konkretny plik jest również identyczny w dwóch repozytoriach (myapp & myapp-v1).

Nie jestem pewien, co to oznacza. ??

Odpowiedz

69

Informuje, że w lokalnym katalogu roboczym repozytorium myapp masz już plik o nazwie a/b/c/d.java, ale nie został on dodany (śledzony), a pobranie nie chce go zastąpić podczas aktualizacji/scalania.

Co można zrobić, to eter:

  • Najedź kopię a/b/c/d.java z drogi, a następnie wykonaj ściągania/aktualizację. Następnie porównaj przeniesiony a/b/c/d.java do jednego pobierania obniżyć.

lub

  • hg add a/b/c/d.java, hg commit a/b/c/d.java, a następnie wyciągnij/scalić

byłego działa, ponieważ nie ma już plik w drodze, a późniejsze prace, ponieważ kopia jest śledzone więc Mercurial może je połączyć.

Należy również rozważyć przerwanie korzystania z usługi fetch. Łączy w sobie pull i update i merge, co nie jest bezpiecznym sposobem. W takim przypadku Twój pull zakończyłby się sukcesem i zarówno update, jak i merge dałoby Ci znacznie bardziej pomocne wiadomości.

+0

Przed robi scalanie 'Hg status' powraca żadnych zaległych zmian. 'hg add a/b/c/d.java' zwraca" a/b/c/d.java już wyśledził " –

+0

Interesujący punkt o pobraniu vs pull/merge. Zrobiłem' pull', a następnie 'merge', gdzie otrzymuję wiele wiadomości w formie:' remote changed dir/blah.xml which local deleted use (c) powieszona wersja lub zostaw (d) eleted? ' –

+0

tak, scalanie jest kodowaniem i nie powinno być pomijane na początku pierwszej części prawdopodobnie moglibyśmy to rozgryźć z wyjściem' hg stat', ale może tak być że twój aktualny katalog roboczy nie jest katalogiem repo ?, To umożliwiłoby dodanie hg do dodania, ale pobranie nie zostało zgwałcone. Tylko zgadywanie, –

8

Próbowałem odpowiedzi Ry4ana (usunięcia pliku) i nadal nie działało, więc uruchomiłem czystkę i pozbyłem się wszelkich śladów, które zadziałały później. Na wypadek, gdyby ktoś szukał alternatywnego rozwiązania.

+0

Wydobycie hg nie działa dla mnie, to nie " t oczyścić wszystko i nadal otrzymuję tę samą wiadomość –

+0

purge --all pracował dla mnie. –

15

Mam wokół tego uruchamiając hg update --clean

3

przypadku korzystania TortoiseHg można sprawdzić „Odrzuć zmiany lokalne, bez zapasowego” opcję w oknie Update.

5

Wystarczy zaakceptować dialogowe błędu następnie zaznaczyć Discard local changes, no backup

enter image description here

i powinno być dobrze, to nadpisanie żadnych nieśledzone pliki lokalne ...

Powiązane problemy