Mercurial nie pozwala zagnieżdżone repozytoriów, ale istnieje przynajmniej jeden powód, dla nich:
Wyobraź sobie, że pracujesz w projekcie:/MyProject. W tym folderze umieszczasz wszystko: kod, dokumentację, testy itp.
Chcesz wykonać kopię zapasową swojej pracy, ponieważ jest ona bardzo ważna, więc tworzysz repozytorium dla/MyProject. Następnie, w godzinach nadliczbowych używasz pakietów, aby zapisać ewolucję/MyProject i tworzyć kopie zapasowe w pamięci flash USB, aby można było odzyskać wszystko na wypadek awarii dysku twardego.
Pamiętaj, że/MyProject zawiera wszystko. A wśród tych wszystkich rzeczy znajduje się główny kod i niektóre projekty pomocnicze. Również chcesz śledzić postęp projektu pomocniczego, który znajduje się w/MyProject/AuxiliaryProject, więc używasz Mercurial do śledzenia jego ewolucji.
Również, chcesz mieć osobne repozytorium głównego kodu:/myproject/Main
W tej sytuacji chcesz zagnieżdżone repozytoriów: jeden wielki jeden dla mogąc kopii zapasowych wszystko za pomocą wiązki i repozytoriów podrzędnych do zarządzania każdym podprojektem.
Myślę, że Mercurial powinien dać użytkownikowi kilka opcji podczas inicjowania repozytorium. Na przykład: - ignoruj zagnieżdżone repozytoria - obejmują repozytoria zagnieżdżone, ale ignorują foldery .Hg (tzn. Działają tak, jakby nie było zagnieżdżonych repozytoriów, ale nie ignorują informacji zawartych w zagnieżdżonych repozytoriach). - zawierać zagnieżdżone repozytoriów a także foldery .Hg (sens dla celów zapasowych)
--------- Edycja: Subrepositories to funkcja, która jest w toku: https://www.mercurial-scm.org/wiki/subrepos
Istnieje również rozszerzenie o nazwie "las", które może stać się przestarzałe w przyszłości: https://www.mercurial-scm.org/ForestExtension
?! Mam wrażenie, że mercurial automatycznie ignoruje inne katalogi mercurial poniżej hierarchii root. (po zrobieniu tego) –
Popraw to: ignoruje podwładnych. Jednak biorąc pod uwagę domyślne wyniki luminarza, nadal utrzymuję, że kupujesz sobie zamieszanie. – msw