Zestawy zmian scalania mają dwóch rodziców, a zatem dwa różne sposoby patrzenia na to, co się zmieniło. Domyślnie, jeśli użyjesz hg diff -c <changeset>
, pokaże różnicę w porównaniu do pierwszego elementu nadrzędnego, który zazwyczaj reprezentował katalog roboczy w czasie scalania. Jeśli to założenie jest błędne, jest to łatwy sposób na wprowadzenie błędów.
To prowadzi do pytania, dlaczego przeszczepiasz zestaw zmian scalania, a nie oryginalne zestawy zmian. Jeśli istnieje szereg zestawów zmian, które chcesz przeszczepić i używasz zestawu zmian scalania do "zrolowania" tej serii, możesz zaimportować oryginalne wiele zmian naraz: hg graft "1000::1005"
.
Osobiście zazwyczaj korzystają hg rebase
dla zadań, takich jak ten, mimo że wymaga umożliwiając rozszerzenie rebase w swoim hgrc lub mercurial.ini:
[extensions]
rebase=
Motywacja jest to, że szczepienie changeset scalania jest łatwiejsze niż scalanie przeszczepianie poszczególnych zestawów zmian. Są też sytuacje, w których przeszczepianie poszczególnych zestawów zmian z drugiej gałęzi nie jest oczywiste. W moim przypadku rebase nie ma zastosowania. Zestawy zmian są już publiczne. –
Mam scalania, gdzie były trudne do rozwiązania konflikty scalania. Chcę wiedzieć, jak przełączyć ten zestaw zmian scalania z powrotem, ponieważ rozdzielczość działałaby przeciwko starszemu p1() zamiast przerabiać pracę rozwiązania konfliktu scalania, ale brzmi jak to nie jest opcja. – binki