Jak usunąć wychodzące zestawy zmian w Mercurial (hg)

14

kiedy uruchamiam hg out, mam 3 wychodzące zestawy zmian. Chcę je wyrzucić i powrócić do tego, jak rzeczy są w centralnym repozytorium. W jaki sposób?

adambox
źródło

Odpowiedzi:

15

Posługiwać się hg strip 'roots(outgoing())'

wbkang
źródło
1
Możesz również określić cel dla wychodzących zestawów zmian (jeśli nie masz domyślnego repozytorium lub chcesz rozebrać względem innego repozytorium) za pomocą hg strip 'roots(outgoing(target-name))'.
Jason R. Coombs
Dzięki @ JasonR.Coombs, który jest bardzo przydatny. Byłem ciekawy, jak zmienić wychodzące () na podstawie zestawów zmian innych niż domyślny adres URL zdalnego repo.
wbkang
3

Albo dokonaj ponownego klonowania z centralnego repozytorium, albo użyj clone -rdo ponownego klonowania tylko potrzebnych zestawów zmian.

tonfa
źródło
3

Inną opcją jest użycie hg strip polecenia , które jest częścią rozszerzenia mq( kolejki rtęciowe ).

Filozofia rtęciowa ma niezmienną historię, więc polecenia, które manipulują tą historią, są niezadowolone, ale zdarzają się chwile, kiedy rozbiórki lub bazowanie może rozwiązać więcej problemów, niż powodują.

Jeśli używasz TortoiseHg , musisz włączyć rozszerzenie MQ . Przed wersją 1.0 THG było ono domyślnie włączone, ale po wielu dyskusjach zdecydowano, że jest to naprawdę „zaawansowana” funkcja, którą należy odrzucić, dopóki użytkownik nie będzie wiedział, jak ją włączyć.

Mark Booth
źródło