2013-05-28 9 views
9

Pracuję na stronie internetowej za pomocą dwóch gałęzi: rozwijam (dla aktywnej pracy nad kodem) i domyślnie (gdzie scalam funkcje, gdy są gotowe do uruchomienia). Właśnie połączyła się zmiany, a ja dostaję ten komunikat podczas przełączania między dwoma oddziałami:Rozróżnianie pojedynczego pliku między gałęziami w formacie mercurialnym

1 files updated, 0 files merged, 0 files removed, 0 files unresolved 

Zabrakło mi hg status --rev default:develop aby dowiedzieć się, który plik to odnosząc się do, ale nie były w stanie rysunek co jest inne.

Oto, co starałem dotąd:

hg diff --rev default:develop 
hg diff --rev default:develop file.php 

Może ktoś mi punkt w dobrym kierunku?

+0

To wygląda dokonaniu tych samych zmian niezależnie w obu gałęziach.'hg update -v' powinno powiedzieć, który plik został faktycznie zmieniony. Wypróbuj 'hg log -r 'ancestor (domyślnie, rozwijaj)' ', aby znaleźć wspólnego przodka gałęzi i' hg diff -r' przodka (domyślnie, rozwijaj) '-r default' i 'hg diff -r' ancestor (default, develop) -r rozwija ', aby zobaczyć, jakie zmiany w obu gałęziach od ostatniej wspólnej wersji są. –

+0

Po uruchomieniu komendy log, którą podasz, pokazuje ona najnowszy commit. Polecenie diff niczego nie zwraca. – bradym

+0

Oznaczałoby to, że 'default' i' developing' to jedna i ta sama gałąź. Czy na pewno używasz oddziałów, a nie zakładek? Ponieważ zakładki to jedyny sposób (z mojej strony), że mogłem to zobaczyć. Jeśli używasz zakładek, musisz przypisać różne do różnych głów; "default" będzie inaczej odnosić się do wersji head najbliższej końcówce. –

Odpowiedz

0

Właśnie połączyła się zmiany, a ja dostaję ten komunikat podczas przełączania między dwoma oddziałami:

Podczas scalania oddziału do oddziału domyślnie nadal ma to głowa w poprzednim przełączenia zestaw. Zatwierdzenie scalania znajduje się w domyślnej gałęzi, a nie w gałęzi rozwinięcia. To pozwala przejść do rozwinięcia gałąź i kontynuowania pracy

Więc jeśli nie:

# hg update default 
# hg merge develop 
# hg commit 

... można dostać ...

D1 --- D2 --- D3 --- D4 
       /
       /
V1 --- V2 --- V3 - 

D jest default, V jest deVelop. D4 jest połączeniem. To jest stan, w którym się znajdujesz. Przełączając się między gałęziami przełączasz się między D4 i V3. Jeden plik, który się zmienia, to plik, który został zmieniony w gałęzi default. Jeśli następnie udał się i zrobił ...

# hg update develop 
<some work> 
# hg commit develop 

... można dostać ...

D1 --- D2 --- D3 --- D4 
       /
       /
V1 --- V2 --- V3 --- V4 

V4 jest oparta na V3, zmiana na rozwijanie oddziału przed scaleniem, nie w wersji scalonej.

To nie odpowiada na twoje pytanie różnicowe, ale informuje Cię, dlaczego twoje gałęzie nie zawierają tego samego.

Powiązane problemy