Znalezienie autora linii kodu w Mercurial


114

Jak dowiedzieć się, kto jest odpowiedzialny za określoną linię kodu? Znam numer linii i nazwę pliku, ale chciałbym, aby firma Mercurial poinformowała mnie o autorze (autorach) tej konkretnej linii kodu. Czy jest na to polecenie?

Odpowiedzi:


123

W wierszu poleceń, którego chciałbyś użyć hg annotate -u( -umożna go połączyć z, -naby uzyskać lokalny numer wersji, który może się przydać). Sprawdź hg help annowięcej opcji.


1
Uważam, że pochodzi z SVN.
Warren P

2
CVS nazwał to annotate. W SVN podstawowym poleceniem jest blamechociaż annotatei praisesą dostępne jako aliasy.
djc

6
Dla wyjaśnienia: pokazuje to, kto był ostatnim, który edytował linię, niekoniecznie kto ją pierwotnie utworzył.
DanMan

35

Byłem fanem "svn blame", więc dodałem do mojego ~/.hgrc:

[alias]
blame = annotate --user --number

więc mogę po prostu pisać "hg blame";-)


9
BTW hg blame jest domyślnym poleceniem, o ile wiem. Nie wiem, czy to niedawno, ale tam jest. Zwróciłem moją uwagę, gdy szukałem pliku pomocy dla adnotacji, w którym pokazywane były aliasy „wina”;)
Tovi7

4
Tovi7: Dodałem go w lutym 2008 roku, więc był pierwszy w wersji 1.0. hg.intevation.org/mercurial/crew/rev/07f2236c4dee
djc.

16

Jeśli używasz TortoiseHG

hgtk annotate <filename>

Lub znajdując plik w dzienniku, klikając go prawym przyciskiem myszy i wybierając „Adnotuj plik”


5
Jest thg annotate <filename>teraz
Randy Syring

2
„Adnotacja pliku” to przycisk ze znakiem #.
Steve Pitchers

9

Szukałem tego przez wieki w Tortoise Workbench; dzięki @artemb i @Steve Pitchers za wskazanie mi właściwego kierunku. Wciąż zajęło mi trochę czasu, zanim to dostrzegłem.

wprowadź opis obrazu tutaj


1
Aby dostać się do tego widoku po lewej stronie, pokazującego poszczególne pliki repozytorium, naciśnij mały przycisk pokazany w lewym górnym rogu, w miejscu, w którym zwykle znajdują się zmienione pliki. Następnie najedź kursorem na liczby przy każdym wierszu i spójrz na dół, aby zobaczyć autora na pasku stanu.
Noumenon


4

w wierszu poleceń możesz użyć hg blame lub hg annotate.

$ hg blame -u -c -l Filename

-u --user                list the author (long with -v)
-c --changeset           list the changeset
-l --line-number         show line number at the first appearance
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.