Nie ma prawdziwej różnicy między tymi dwiema metodami, gdy mówimy o nazwanych gałęziach, przynajmniej w każdej najnowszej wersji Mercurial. Rzeczy były różne przed 1.5 (?), Ale wyłącznie w tym, że hg heads
i hg branches
zawierają te "zamknięte" gałęzie w swoich wyjściach - nadal mogą, jeśli podasz komendę -c
.
Pamiętaj, że po zamknięciu gałęzi (przy użyciu hg commit --close-branch
lub w Żółwiu) skutecznie po prostu zatwierdzasz nowy zestaw zmian, w którym zmiana ma ustawioną flagę, mówiąc, że gałąź X jest zamknięta - możesz łatwo zaktualizować gałąź i otwórz go, wykonując kolejne zatwierdzenie.
Jednak, gdy ponownie otworzy oddział, "pasek", który widzisz w Tortoise, nadal będzie istnieć w poprzednio zamkniętym zestawie zmian, więc z tego powodu osobiście wybrałbym politykę ścisłego łączenia. Jest to bardziej pouczające wizualnie, jak sądzę, widzieć, że łączyłeś się z czymś, z czym byłeś zadowolony (i dlatego zamknął oddział przed scaleniem).
Rzeczy różnią się nieznacznie w przypadku oddziałów "anonimowych", ponieważ nie są uwzględniane w danych wyjściowych hg branches
po ich scaleniu i dlatego nie wymagają wyraźnego zamknięcia.
A także "zamknij, a następnie scal" również zminimalizuj aktualizacje. "Zamknij -> aktualizacja do głównej gałęzi -> scalanie" jest prostsze niż "aktualizacja do głównej gałęzi -> scalanie -> aktualizacja do połączonego oddziału -> zamknij to -> aktualizację do głównej gałęzi ponownie" – Nashev