2009-06-24 11 views
5

Dokumentacja mówi: "Ponieważ git-cherry porównuje zestaw zmian zamiast identyfikatora zatwierdzenia (sha1), możesz użyć git-cherry, aby sprawdzić, czy zatwierdzenie zostało wykonane lokalnie został zastosowany pod innym identyfikatorem zatwierdzenia. "git cherry confusion - nie działa zgodnie z opisem w dokumencie

Zobaczmy:

$ git cherry master release-1.1.0 | head -1 
- 533e2559342910fbffa2be5b38fdd7f2ddb2ed53 
$ git show 533e2559342910fbffa2be5b38fdd7f2ddb2ed53 
... 
(cherry picked from commit 409c61b3304373a73c787fdf9c08cc338934b74d) 
... 

git pokaz pokazuje ten sam changeset dla 409c .. i 533e

$ git br --contains 533e2559342910fbffa2be5b38fdd7f2ddb2ed53 
release-1.1.0 
$ git br --contains 409c61b3304373a73c787fdf9c08cc338934b74d 
master 
release-1.0.4 

Oznacza to, że changeset jest zarówno pana i release-1.1.0. Jak to się stało, że git cherry pokazuje 533e ..?

Odpowiedz

3

Mówi także, że "zatwierdzenia są porównywane z ich identyfikatorem łaty, uzyskanym z programu git-patch-id.". Kiedy zastosujesz wybraną przez siebie różnicę, czy to może być nieco inna różnica?

W tym przypadku nie tylko identyfikator zatwierdzenia będzie różny, ale również identyfikator łaty, ponieważ identyfikator git-patch-zgłosi różne identyfikatory poprawek dla zatwierdzeń, a zatem nie będą one uważane za znajdujące się w oddziałach innych użytkowników. .

Łatwo to sprawdzić:

git show 533e2559342910fbffa2be5b38fdd7f2ddb2ed53 | git-patch-id 
git show 409c61b3304373a73c787fdf9c08cc338934b74d | git-patch-id 

Jeśli pierwszy sha1 zwrócony przez git-patch-ID różni się między obu seriach, że to, co się stało.

Zastanówcie lektora - nie próbowałem mojej teorii, ale w ten sposób interpretuję strony podręcznika.

+1

Nie mam git-patch-id na mojej ścieżce, ale działa "git patch-id". –

Powiązane problemy