Skończyłem pracę nad odgałęzieniem funkcji feature-x
. Chcę połączyć wyniki z powrotem do gałęzi default
i zamknąć feature-x
, aby pozbyć się go na wyjściu z hg branches
.Jak prawidłowo zamknąć gałąź funkcji w Mercurial?
wymyśliłem następujący scenariusz, ale ma pewne problemy:
$ hg up default
$ hg merge feature-x
$ hg ci -m merge
$ hg up feature-x
$ hg ci -m 'Closed branch feature-x' --close-branch
Więc feature-x
Branch (changests 40
- 41
) jest zamknięty, ale jest jeden nowy szef, oddział zamykający changeset 44
, które zostaną wymienione w hg heads
za każdym razem:
$ hg log ...
o 44 Closed branch feature-x
|
| @ 43 merge
|/|
| o 42 Changeset C
| |
o | 41 Changeset 2
| |
o | 40 Changeset 1
|/
o 39 Changeset B
|
o 38 Changeset A
|
Aktualizacja: Wygląda na to, że od wersji 1.5 Mercurial nie pokazuje już głowic zamkniętych gałęzi na wyjściu hg heads
.
Czy można zamknąć połączoną gałąź bez opuszczania jeszcze jednej głowicy? Czy istnieje dokładniejszy sposób zamknięcia gałęzi funkcji?
Powiązane pytania:
@Andrey: ale wskazany artykuł NIE tylko mówi o "--close-branch". Pokazuje * cztery * sposoby przycinania gałęzi. Jeśli naprawdę tego nie chcesz, możesz klonować zgodnie z opisem w artykule. Jedyny "problem" polega na tym, że z jakiegoś powodu chcesz go zamknąć, a jednocześnie zachować go. – SyntaxT3rr0r
@WizardOfOdds Tak, przeczytałem cały artykuł o przycinaniu martwych gałęzi. Chcę, aby oddział pozostał w historii zmian, a nie żeby go wyrzucić. Poprzednio po prostu scaliłem gałęzie funkcji w 'default' bez" zamykania "ich. Zaowocowało to 0 nowymi głowami, ale takie gałęzie były na zawsze widoczne w gałęziach 'hg' (jako nieaktywne gałęzie). –
Aby rozwinąć funkcje, sklonowuję całe repozytorium, a następnie scalam je z powrotem po zakończeniu funkcji. Nie lubię mieć pozostałości (zamkniętych) gałęzi w historii. – DanMan