Jak rozkłada się pliki rtęci mercurial? Co się stanie, jeśli utworzę gałąź i podzielę plik. Czy mogę łatwo pobrać zmiany z innego oddziału, które modyfikuje oryginalny, nieopisany plik?W jaki sposób pliki podzielone na rączki Mercurial?
Odpowiedz
Po przeczytaniu komentarza z wyjaśnieniem odpowiedź brzmi: nie. Mercurial śledzi pliki, a nie bryły kodu, więc nie może tego zrobić, o ile wiem.
Po prostu zrobiłem mały eksperyment. Stworzyłem jedno repozytorium (foo
) z jednym dużym plikiem. Następnie sklonowałem to do bar
, użyłem hg cp
, aby skopiować plik na dwa pliki i usunięto połowę z obu plików. Następnie wprowadziłem zmianę wpływającą na cały plik w foo
i połączyłem go w bar
.
W wyniku tego części zawarte w odpowiednim pliku podziału zostały scalone poprawnie, podczas gdy wystąpił konflikt dotyczący usuniętych części: moja wersja lokalna była pusta, podczas gdy druga wersja była zmianą z foo
.
Więc jeśli jesteś zadowolony z usuwania tego rodzaju konfliktów za każdym razem, gdy się scalisz, może to być dla Ciebie wystarczająco dobre.
Co masz na myśli, mówiąc o "podzielonych plikach"? Masz na myśli, że tworzysz gałąź, a następnie dzielisz zawartość pliku na dwa nowe pliki? A może chodzi ci tylko o zmianę pliku w obu oddziałach? –
Jestem w programowaniu i planuję podzielić klasę Boga na kilka mniejszych klas. Oznacza to, że chcę podzielić zawartość pliku klasy Boga w mojej gałęzi na kilka innych plików. Chciałbym wiedzieć, czy mercurial może następnie zastosować porcje/zmiany, które zostały wykonane w oryginalnym pliku (w domyślnej gałęzi), na przykład do funkcja, która teraz znajduje się w innym pliku w mojej gałęzi refaktoryzacji. –