2012-05-31 11 views
7

Próbuję policzyć liczbę zatwierdzeń od momentu utworzenia znacznika.Liczba wyświetleń od tagu

Próbowałem używać git rev-list, ale wydaje się, że zwraca te same wyniki, bez względu na to, co próbuję. Oto, co próbowałem:

$ git rev-list 1.7Start^..HEAD | wc -l 
13902 
$ git rev-list HEAD | wc -l 
13902 

Próba zliczenia liczby zatwierdzeń od utworzenia znacznika 1.7Start. Obecnie jestem na master, więc używając HEAD, ale przy użyciu git rev-list master | wc -l daje mi to samo.

Nie było 13000+ popełnia od 1,7

Gdyby git rev-list master pokazać mnie każdy popełnić w mistrza, a więc uzyskania większej ilości niż 1.7Start^..master które powinny Daj mi różnicę?

+0

Sugeruje to, że nie ma wspólnej historii między '1.7Start ^' i 'HEAD'. Aby sprawdzić, czy tak jest, zobacz, co tworzy 'git merge-base 1.7Start^HEAD' - domyślam się, że jest to błąd wskazujący, że nie ma żadnego wspólnego. –

+0

brak błędu i brak wartości zwracanej –

+0

Dobrze, to oznacza, że ​​nie ma wspólnej historii, co jest zaskakujące. W jaki sposób wygenerowano ten tag? –

Odpowiedz

4

Wyniki że dostajesz sugerują, że nie ma historii wspólnego między 1.7Start^ i HEAD, więc 1.7Start i HEAD musi mieć inny korzeń zobowiązuje. (Składnia a..b po przejściu do git rev-list oznacza po prostu „każdy popełnienia w b która nie jest a).

W powyższych uwag pytający wskazuje, że powstały dlatego, że było przenoszone z repozytorium Subversion i master jest całkowicie odróżnieniu od importowanej gałąź, która 1.7Start punkty.

3

gIT ma git rev listy --count który wykonuje to szybciej niż wC-l.

Istnieje również git rev lista --use-bitmap- index - licznik w późniejszych wersjach git, co jest optymalizacją - count.

rev-list wymaga zatwierdzenia, więc przykład, aby znaleźć wszystkie zatwierdzenia w repozytorium dla twojego bieżącego oddziału.

git rev-list --count HEAD 
0

Jeśli tylko dbają o ostatniego tagu, co jest typowe, git describe powie co ostatni znacznik jest i ile commity zostały wykonane w bieżącej gałęzi ponieważ. Na przykład, na wyjściu poniżej, ostatni znacznik wynosił 0,19, a 67 zatwierdzeń zostało dokonanych w bieżącym oddziale od tego czasu.

$ git describe --tags 

0.1.9-67-gff9fd30 

W celu weryfikacji można wyświetlić pełną listę zatwierdzeń za pomocą poniższego polecenia. Jeśli potwierdzisz jego wyjście do wc -l, ta sama liczba powinna zostać zwrócona. Zauważ, że !! jest poprzednim poleceniem w Bash.

git log --oneline $(git describe --tags --abbrev=0).. 

$ !! | wc -l 

67 
Powiązane problemy