2013-08-09 14 views
7

Proste pytanie: czy istnieje sposób na przywrócenie - ze stołu roboczego TortoiseHg? Widzę, jak przywracać pojedynczy plik. Najlepiej byłoby, gdyby kliknąłem wersję, a po prawym menu myszy znajduję pozycję "Przywróć wszystko".Powróć --wszystkie w TortoiseHg Workbench

Używam TortoiseHg 2.8 na pudełku Ubuntu.

EDYTOR Powinienem podać więcej szczegółów na temat mojego pytania, aby podać pewien kontekst. Pozwól mi opisać konkretny przypadek użycia:

Chcę przywrócić mój katalog roboczy do stanu przeszłego zatwierdzenia, aby móc wygenerować wynik z pliku wykonywalnego, który, jak wiem, był "dobry". Po wygenerowaniu tego wyniku chcę wrócić do wskazówek i kontynuować rozwój, zachowując liniowość tej historii. Z wiersza poleceń zrobiłem "hg revert --all --rev 22", wygenerowałem wyjście, a następnie "hg revert - all", co zrobiłem, co chciałem. "Aktualizacja hg" utworzy historię z odgałęzieniem (jeśli dobrze rozumiem). FWIW to to przycisk "aktualizacja" w TortoiseHg (w polu, w którym wyświetlana jest lista plików), jak również element menu z prawą myszą w danej wersji.

Odpowiedz

10

Aby ustawić katalog roboczy pasujące do stanu danego changeset (który może być tip), można użyć Aktualizacja:

  1. prawym przyciskiem myszy na changeset chcesz „Cofnij” to.
  2. Wybierz "Update"
  3. Zaznacz pole wyboru "Odrzuć zmiany lokalne"
  4. Kliknij Aktualizuj

Byłoby hg update -r changeset -C w konsoli.

Teraz można utworzyć dane wyjściowe ze "stanu" katalogu roboczego w tym punkcie historii (tj. Z pliku wykonywalnego w tym zestawie zmian). Jeśli nie wprowadzisz żadnych zmian, nie będzie utworzonego zestawu zmian, a zatem nic nie zostanie dodane do historii repozytorium.

Gdy masz wyjście do zadowolenia, można zaktualizować ponownie do tip rozwoju za pośrednictwem tego samego procesu i kontynuować swoją pracę:

  1. prawym przyciskiem myszy na tip rozwoju.
  2. Wybierz „Update”
  3. Zaznacz pole wyboru „Odrzuć zmiany lokalne”
  4. kliknij przycisk Aktualizuj

Zaletą korzystania update nad revert jest to, że żółw będzie wyraźnie wyświetlić rodzica katalogu roboczego jako zmień historię. Pod revert może być bardzo łatwo odwrócić pliki i stracić kontrolę nad tym, do którego zestawów zmian powróciłeś i którą częścią historii zajmowałeś.

(Zakłada się, że chcesz przejść do tego punktu w historii.Jeśli potrzebujesz utworzyć zestaw zmian, który cofa poprzedni zestaw zmian, spójrz na backout, ale nie jestem pewien, czy jest on dostępny w Tortoise.)


+0

Dzięki za informacje. Zobacz edycję mojego OP. "Aktualizacja" w większości sprawdzi się, co chcę, ale jest trochę cięższa niż "odwróć", ale może mój przypadek użycia jest trochę nietypowy. –

+0

Zaktualizowałem moją odpowiedź, by adresować twoje edycje @adt_Jeff – Edward

0

Możesz wybrać wszystkie zmodyfikowane pliki na liście używając Ctrl + A, a następnie wybierz "Przywróć" z menu kontekstowego.

+0

Dzięki za informacje. Jedyną trudnością z tym podejściem (chyba że czegoś mi brakuje) jest to, że nie ma wygodnego sposobu na znalezienie wszystkich plików, które zmieniły się pomiędzy bieżącym katalogiem roboczym a pożądaną wersją. (Istnieje "diff to local", które wywoła oddzielne narzędzie do porównywania wizualnego, ale nie ma dobrego sposobu, aby uruchomić "przywrócić" stamtąd.) –