2012-05-03 9 views
8

Jestem nowy w Mercurial i używam systemu rozgałęzień Stable/Default. Wszyscy jesteśmy w systemie Windows i staram się, aby wszyscy inni pracowali w tym systemie. Wszyscy używamy TortoiseHg. Próbuję udokumentować, jak scalić zmiany w wersje stabilne i tagów, ale używam Mercurial tylko przez około trzy tygodnie, więc nie jestem nawet pewien, czy robię to poprawnie. Wygląda na to, że w TortoiseHg brakuje kilku opcji dostępnych w linii poleceń. Muszę jednak wykonać tę pracę z powłoki systemu Windows lub nie zostanie ona tutaj zaadoptowana.Czy to prawda? Scalanie gałęzi stabilnych i domyślnych w Mercurial przy użyciu TortoiseHg

Wszystkie nasze prace programistyczne są wykonywane domyślnie, a gałąź stabilna służy tylko do wydania oprogramowania. Jedną rzeczą, która prowadzi mnie do przekonania, że ​​robię coś złego jest to, że po każdym scaleniu muszę ponownie stworzyć stabilną gałąź. Czy to normalne? Wydaje się sprzeczne z intuicją.

Poniżej znajduje się procedura, którą napisałem. Proszę wskazać mój idiotyzm lub zadać jakiekolwiek pytania. I z góry dziękuję za wszelkie uwagi.

Na moim laptopie są dwa katalogi dla każdego projektu. Katalog devel przechowuje klon domyślnej gałęzi,

===============

Łączenie oddziałów i tworząc stabilną wersję, TortoiseHg

- Zatwierdź w repozytorium deweloperskim.

- Otwórz lokalny katalog devel.

- Uruchom HgWorkbench.

- Kliknij ostatnią stabilną wersję gałęzi stabilnej.

- Wybierz Połącz z lokalnym ...

- Synchronizacja i pchania zmian do zdalnego repozytorium.

- Przejdź do lokalnego stabilnego repozytorium.

- Zsynchronizuj i pobierz ze zdalnego repozytorium.

- Aktualizacja do najnowszego domyślnego oddziału. Wybór "aktualizacji na wskazówkę" powinien być najlepszy.

- TortoiseHg -> commit. Zatwierdź oddział "stabilny". Musisz ponownie utworzyć nowy oddział. Gdy pojawi się pytanie, wybierz "Restart branch".

- Otwórz HgWorkbench i dodaj tag do najnowszej stabilnej wersji. Przykład "Wersja X.X"

- Zsynchronizuj i przepchnij do zdalnego repozytorium. Użyj przycisku Opcje w oknie dialogowym Synchronizacja, aby wyświetlić okno dialogowe "Opcje synchronizacji". W dolnym polu oznaczonym "Oddział" wpisz "stabilny"

- Wróć do lokalnego repozytorium "devel".

- Zsynchronizuj i pobierz ze zdalnego repozytorium. Użyj przycisku Opcje w oknie dialogowym Synchronizacja, aby wyświetlić okno dialogowe "Opcje synchronizacji". W dolnym polu oznaczonym "Oddział" upewnij się, że pole jest puste. W przeciwnym razie domyślnie będzie to gałąź "stabilna".

Odpowiedz

6

Nie ma potrzeby, aby drugi klon osiągnął to, co chcesz i myślę, że to dodaje złożoności tam, gdzie nie jest potrzebne.

To co zrobię:

  1. mieć pojedynczy klon repozytorium
  2. Commit w default oddziału
  3. start HgWorkbench
  4. Kliknij prawym przyciskiem najnowszą changeset na stable branży
  5. Wybierz Update... w wyskakującym menu i naciśnij przycisk Update w wyskakującym okienku (us e domyślne opcje)
  6. Kliknij prawym przyciskiem najnowszą changeset w default oddziału
  7. Wybierz Merge with local...
  8. Jeśli stan katalog roboczy jest pokazany być czyste (powinno być), a następnie kliknij przycisk
  9. Jeśli Next tam ma konfliktów scalania (ponownie, nie powinno być, jeśli nie ma rozwoju w stable) kliknij przycisk Next ponownie
  10. Wprowadź commit wiadomość i kliknij przycisk Commit i prasy Finish w następnym kroku
  11. Kliknij prawym przyciskiem myszy ostatni zestaw zmian w gałęzi stable i wybierz opcję Tag..., wprowadź nazwę znacznika i naciśnij przycisk Add.
  12. Prawo kliknij ostatni changeset w default gałęzi i wybrać Update... ponownie przy użyciu domyślnych opcji

pan teraz dostał oznaczony stable oddziału i są z powrotem na oddział default kontynuować rozwój. Gdy będziesz gotowy do wydania nowej wersji stable, powtórz powyższe kroki od kroku 3.

+0

To brzmi znacznie czystsze. Mam zamiar wypróbować to rano. Dziękuję bardzo! – user1372617

+0

Kontynuacja: wszystko działało idealnie. Wielkie dzięki! – user1372617

Powiązane problemy