2010-06-14 18 views
5

Zainstalowałem Windows7 na moim komputerze, i musiałem zmienić wszystkie uprawnienia/przejąć na własność - które najwyraźniej "dotknęły" wszystkich moich plików, a teraz wszystko wydaje się być "zmodyfikowane" (kiedy robię "stan hg"), ale tylko niektóre pliki mają aktualne zmiany.Jak "przywrócić" niezmienione pliki z użyciem mercurial?

Czy istnieje polecenie, które można uruchomić, aby albo "zatwierdzić", albo "przywrócić" wszystkie pliki, które nie mają rzeczywistej zmiany w nich (tzn. Tekst pozostaje niezmieniony, nawet jeśli zmieniono atrybuty pliku).

dodania:

Mam przeniesieni z WinXP na Win7. Właściwie nie "skopiowałem" niczego, repozytorium jest takie samo na dysku ... to tylko Windows się zmienił. Po aktualizacji nie miałem dostępu do niektórych plików, musiałem "przejąć na własność", aby ponownie uzyskać dostęp (w jakiś sposób prawa użytkownika nie zostały poprawnie zachowane). Oto co mam:

$ hg stat 
../../test/acceptance/spidermonkey/js1_5/String/regress-179068.as M  
$ hg diff ../../test/acceptance/spidermonkey/js1_5/String/regress-179068.as 

Odpowiedz

3

myślę, że nie udało się dostać do repozytorium .hg prawidłowo skopiowany.

$ hg stat primes.py   # nothing, file is checked in 
$ touch primes.py 
$ hg stat     # still nothing 
$ sudo chown bin primes.py 
$ hg stat     # nothing, the chown didn't make hg care 

Powinieneś prawdopodobnie hg clone z repozytorium i pracy z tego miejsca.

dodany: Fuj, wyjście hg verify i hg summary prawdopodobnie być przydatna (a zamieszczone tutaj jeśli nadal uwikłane). Boję się o twoje repozytorium i mam nadzieję, że masz kopię zapasową (lub masz szczęście i naprawdę potrzebujesz tylko "napiwku").

+0

Mam zmodernizowane z WinXP na Win7. Właściwie nie "skopiowałem" niczego, repozytorium jest takie samo na dysku ... to tylko Windows się zmienił. Po aktualizacji nie miałem dostępu do niektórych plików, musiałem "przejąć na własność", aby ponownie uzyskać dostęp (w jakiś sposób prawa użytkownika nie zostały poprawnie zachowane). Oto, co otrzymuję: $ hg stat ../../test/acceptance/spidermonkey/js1_5/String/regress-179068.as M ../ ../test/acceptance/spidermonkey/js1_5/String/regress-179068.as $ hg diff ../../test/acceptance/spidermonkey/js1_5/String/regress-179068.as $ – Virgil

+0

Przepraszam, ja nie wiedzieć, jak naprawić formatowanie. Chodzi o to, że pokazuje plik jako "zmodyfikowany", chociaż "diff" nie pokazuje różnicy. Jak mogę "naprawić" (tj. "Przywrócić" lub "zatwierdzić") tylko te pliki, w których nie ma różnicy? – Virgil

+0

dodano: dodano. Nie jestem pewien, co to jest, aby uzyskać WZ, aby Virgil wiedział, że jest aktualizacja; Wiem, że to będzie. – msw

2

To też mi się przydarzyło! Naprawiłem to w ten sposób ...

  1. sklonować repozytorium hg path/to/clone original path/to/clone
  2. Run hg update -C /path/to/clone na klonie, aby upewnić się, że jest czysty.
  3. Run kdiff3 path/to/original path/to/clone
  4. Odznacz 'Pokaż identyczne pliki'
  5. Wybierz plik lub folder do synchronizacji (nie synchronizować folder .hg)
  6. Prasa CTRL-1 do wyboru wersja A
  7. Prasa F6 zsynchronizować
  8. Powtórzyć etapy 5-7 w miarę potrzeby

Wyczyść oryginał. Pracuj nad klonem i zatwierdzaj i naciskaj.

lub

Clean oryginalny i uruchom kdiff3 path/to/clone path/to/original

Powiązane problemy