Como visualizar o histórico de revisão do arquivo Mercurial?

106

Para um determinado arquivo em um repositório Mercurial, como você pode ver o histórico de revisão?

E como você pode diferenciar duas revisões do arquivo?

Idealmente, fazer tudo isso com ferramentas visuais (usamos ExamDiff para fazer algumas outras diferenças).

Eu diria que esta é uma funcionalidade básica de controle de origem, mas não consigo descobrir como fazer isso com o Mercurial.

Marcus Leon
fonte

Respostas:

129
hg log file

hg diff -r 10 -r 20 file
zerkms
fonte
1
Perfeito .. Funciona com ExamDiff também:hg examdiff -r 10 -r 20 file
Marcus Leon
2
também pode ser útil pesquisar uma palavra-chave em vez de um nome de arquivo exato, hg log -k palavra
Despertar
Isso me dá saída / resposta zero; nada acontece.
Temporary_user_name
27

A extensão hgk dá a você um hg view filecomando que mostra um histórico visual, a partir do qual você pode diff / vdiff par arbitrário de revisões.

TortoiseHg dá a você um thg log filecomando que faz a mesma coisa, mas tem uma aparência melhor.

Geoffrey Zheng
fonte
muito agradável! mas 'hgtk' agora é apenas um invólucro, por favor use 'thg' no linux
milkplus
1
O hgk funciona para revisões inteiras, mas como você faz para diferenciar arquivos individuais ?
keflavich
9

Para facilitar a leitura

hg diff -r revision1:revision2 file

Onde a revisão 1 e a revisão 2 podem ser uma tag, conjunto de alterações etc.

Carlo Chum
fonte
5

Se você usa TortoiseHg: Os usuários do Windows podem usar o Windows Explorer e ver o histórico de revisão clicando com o botão direito no arquivo.

Para usuários do Linux, você pode fazer isso no TortoiseHg, mas demorei um pouco para descobrir como. Você precisa clicar com o botão direito no arquivo desejado e selecionar "Histórico do arquivo". No entanto, por algum motivo misterioso, o arquivo precisa ser inalterado. Além disso, para encontrar o arquivo desejado, existem duas opções:

Em ### revision set query###um pode digitar:

file("**<myfile>")

Os duplos ** são necessários para pesquisar diretórios recursivamente. Isso lhe dá imediatamente uma lista de todos os repositórios nos quais o arquivo desejado foi alterado.

Como alternativa, ao lado do ### filter text ###clique primeiro no sinal de interrogação e selecione "limpar" para ver todos os arquivos no repositório. Em seguida, dentro da ### filter text ###caixa, você pode reduzir o número de arquivos exibidos.

Como alternativa, os usuários do Linux podem fazer isso de um terminal, conforme sugerido por Geoffrey Zheng acima:

thg log file
Jasper Uijlings
fonte
Talvez isso tenha mudado desde 2010, mas posso clicar em um arquivo modificado no THG e ver o histórico de revisão.
UuDdLrLrSs