Jak korzystać z Mercurial dla następującego problemu.Używanie Mercurial do oddzielnej wersji prywatnej i publicznej
Załóżmy, że mam rdzeń biblioteki. Teraz chcę rozwinąć rozszerzenie do tej biblioteki o nazwie Extension. Chcę, aby Core był fizycznie oddzielony od Extension, tj. Powiedzmy, że Core jest biblioteką open source, a Extension jest biblioteką prywatną opartą na Core (może zawiera pewne rzeczy, które chcę zachować w pamięci). Oczywiście nie chcę przesyłać całego źródła w Extension do publicznego repozytorium kiedykolwiek. Ale z drugiej strony mógłbym popchnąć pewne zmiany z Extension do Core (jeśli zdecydowałem się "przekazać" część rozszerzenia do Core) lub na odwrót (jeśli chcę wprowadzić poprawki błędów, powiedzmy).
Co byś zrobił, minimalizując ryzyko wycieku Extension to Core (po tym, jak historia zostanie przekazana na serwer publiczny, nie ma odwrotu!), Zachowując elastyczność, aby zrobić to dla pewnych zmian. Gałęzie? Klony? Mqs? Coś innego?
Obecnie jestem zaznajomiony tylko z repozytoriami klonowania i bardzo podobają mi się jego prostota.
EDIT: wymyśliłem tego programu, ale nie mogę zupełnie zmusić go do pracy w systemie Windows. Dwa repozytoria (podstawowe i rozszerzenie). W rozszerzeniu znajdują się dwie gałęzie , także Rdzeń i rozszerzenie. Teraz możesz zarejestrować na repozytorium hak w Mercurial, więc chciałbym zarejestrować hak "pretxnchangegroup" w repozytorium Core, które blokuje checkiny z gałęzi Extension, jako rodzaj wyjaśnionego in the Mercurial book. Tyle tylko, że nie całkiem mogę pracować pod Windowsem. A więc:
- ktoś ma przykład czegoś podobnego (w rzeczywistości dowolny hak, który zmienia wynik transakcji) pod oknami?
- Nadal będę mógł korzystać z przeszczepu, aby wyłuskać zmiany z gałęzi Rozszerzenie na rdzeń, prawda?
Jak zmienić hak na * tylko * pozwolić Core? Czy to && wyjdzie z 0 || wyjść 1? –