Czy istnieje sposób powiązania wiązki Mercurialnych zestawów zmian z nazwaną gałęzią po ich zatwierdzeniu, tj. Z mocą wsteczną?Retroaktywne rozgałęzienie nazwane w Mercurial
Odpowiedz
Nie, nazwy oddziałów są częścią zestawu zmian (to naprawdę jest etykieta, którą dodajesz do zatwierdzenia), oznacza to, że wartość mieszania zestawu zmian zależy od nazwy oddziału.
Jedynym sposobem, aby zmienić to z mocą wsteczną, jest przepisanie historii (która nie działa dobrze, jeśli popchnąłeś swoje zmiany gdzie indziej, ponieważ będziesz musiał przepisać każde repozytorium, które ma zmiany).
Aby napisać historię ponownie, można użyć na przykład mq.
Nie jest to kompletne rozwiązanie, ale bez ponownego zapisywania historii; możesz oznaczyć ostatni zestaw zmian w nienazwanej gałęzi. Jeśli nigdy nie zrezygnujesz z tego, tag powinien zostać udostępniony. Jeśli chcesz ponownie rozdzielić, możesz przejść do nazwanego oddziału po oznaczonym zestawie zmian.
Po prostu chciałem to zrobić, a oto rozwiązanie, które znalazłem. Minął rok od pierwotnego zapytania, co może wyjaśnić, dlaczego mogę znaleźć rozwiązanie. Wadą jest to, że tworzysz dodatkową wersję procesu, ale nie było to dla mnie zbyt złe.
Najpierw wróć do miejsca, w którym chcesz utworzyć oddział. W moim przypadku, faktycznie chciałem rozpocząć nowy root (ponieważ nie byłem bardzo rozsądny, kiedy uruchomiłem repozytorium, ale tak czy inaczej), więc aktualizuję do wartości zerowej. Prawdopodobnie chcesz zacząć gdzie indziej, zależy to od twojej sytuacji.
$ hg update null
Następnie utwórz gałąź.
$ hg branch blah
$ hg commit -m "Created blah branch."
Następnie, rebase wszystkie zobowiązuje zrobiliśmy na naszego nowego oddziału:
$ hg rebase -s SOURCE -d DEST
SOURCE tutaj powinien być pierwszym popełnić dokonane w zatwierdzeń chcesz utworzyć oddział od i DEST powinien być zatwierdzeniem, w którym utworzono oddział (ten, który popełniliśmy powyżej).
- 1. Pomóż zrozumieć zalety rozgałęzienia w Mercurial
- 2. Gałęzie rozgałęzień vs rozgałęzienie git
- 3. Parametry nazwane/opcjonalne w Delphi?
- 4. Nazwane parametry funkcji w PHP
- 5. Nazwane zakresy stanów w state_machine
- 6. Zmuszanie nazwane argumenty w C#
- 7. Clojure - nazwane argumenty
- 8. Rozgałęzienie określonych projektów z rozwiązania wielozadaniowego
- 9. Rozgałęzienie: różne pliki konfiguracyjne do wydania/rozwoju
- 10. rozgałęzienie git-svn: jak skonfigurować git config
- 11. Rozgałęzienie operatorów przypisania wartościami zamiast odniesień
- 12. Jak używać mock $ httpBackend przetestować Rozgałęzienie błędzie
- 13. Mercurial: zachowaj domyślną gałąź "aktywny"
- 14. formatu ciągi i nazwane argumenty w Pythonie
- 15. Nazwane obiekty jako cecha w kategoryzacji tekstu?
- 16. Jak utworzyć nazwane argumenty w ELisp?
- 17. Nazwane przerwy dla pętli w Rust
- 18. Jak zdefiniować StructureMap wystąpienie nazwane w Kodeksie
- 19. Czy nazwane funkcje są niedoceniane w JavaScript?
- 20. Nazwane wystąpienia i wystąpienie domyślne w strukturze?
- 21. Nazwane argumenty: C# i Python
- 22. android java regex nazwane grupy
- 23. Metody producenta a nazwane klasy
- 24. Rozgałęzienie asynchroniczne z 2 kątami nie utrzymuje położenia w nawigacji
- 25. Miękkie ogniwo w Mercurial
- 26. Stos ciągłej integracji w systemie Windows z Mercurial + Mercurial Queues?
- 27. Jak cofnąć Cofnij w mercurial
- 28. Zmiana struktury katalogów w Mercurial
- 29. Zapytania nazwane NHibernate i zestawy wielu wyników
- 30. Wielokrotne nazwane kąty wylotu routera 2
Dzięki, to działało idealnie. To powinna być zaakceptowana odpowiedź. –
Działa to (jak sądzę), ale ma potencjalny problem z tym, że nie odtwarza się dobrze, jeśli udostępniłeś swoje repozytorium każdemu (tak jak @tonfa pośrednio zauważa). Zauważono, że [rozszerzenie rebase] (http://mercurial.selenic.com/wiki/RebaseExtension) _Nie powinieneś odnawiać zestawów zmian, które zostały już udostępnione innym. Wykonanie tego zmusi wszystkich do wykonania tego samego rebase_ –
Dla tych, którzy pracują w hc rtęci, musisz włączyć rozszerzenie rebase w Ustawieniach. – amaidment