Encontrando o autor de uma linha de código no Mercurial


114

Como faço para descobrir quem é responsável por uma linha específica de código? Eu sei o número do linho e o nome do arquivo, mas gostaria que o Mercurial me dissesse o (s) autor (es) dessa linha de código específica. Existe um comando para isso?

Respostas:


123

Na linha de comando, você deseja usar hg annotate -u( -upode ser combinado com -npara obter o número de revisão local, que pode ser útil). Verifique hg help annomais opções.


1
Eu acredito que se origina com SVN.
Warren P

2
CVS chamou annotate. No SVN, o principal para o comando é blame, embora annotatee praiseesteja disponível como aliases.
djc

6
Para esclarecer: isso mostra quem foi o último a editar a linha, não necessariamente quem a criou originalmente.
DanMan

35

Eu era fã de "svn blame", então adicionei ao meu ~/.hgrc:

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

então posso apenas digitar "hg blame";-)


9
BTW hg blame é um comando padrão, tanto quanto eu posso dizer. Não sei se é recente, mas está aí. Chamei minha atenção enquanto eu estava olhando para o arquivo de ajuda para anotar, que mostrava os pseudônimos "culpa";)
Tovi7

4
Tovi7: Eu adicionei em fevereiro de 2008, então foi o primeiro em 1.0. hg.intevation.org/mercurial/crew/rev/07f2236c4dee
djc

16

Se você estiver usando o TortoiseHG

hgtk annotate <filename>

Ou encontrando o arquivo no registro, clicando com o botão direito e selecionando "Anotar arquivo"


5
É thg annotate <filename>agora
Randy Syring

2
"Anotar arquivo" é um botão com um sinal #.
Steve Pitchers

9

Procurei por isso por muito tempo no Tortoise Workbench; obrigado a @artemb e @Steve Pitchers por me apontarem na direção certa. Ainda demorei um pouco para perceber.

insira a descrição da imagem aqui


1
Para chegar à visualização à esquerda que mostra os arquivos individuais do repositório, pressione o pequeno botão que aparece no canto superior esquerdo, exatamente onde seus arquivos alterados normalmente estão. Em seguida, passe o mouse sobre os números de cada linha e olhe na parte inferior para ver o autor na barra de status.
Noumenon


4

na linha de comando, você pode usar hg blame ou 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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.