Как просмотреть историю изменений файла Mercurial?

106

Как можно просмотреть историю изменений для данного файла в репозитории Mercurial?

А как можно различить две ревизии файла?

В идеале все это делается с помощью визуальных инструментов (мы используем ExamDiff для некоторых других различий).

Я бы сказал, что это базовая функция управления версиями, но я не могу понять, как это сделать с Mercurial.

Маркус Леон
источник

Ответы:

129
hg log file

hg diff -r 10 -r 20 file
Зеркмс
источник
1
Идеально .. Работает также с ExamDiff:hg examdiff -r 10 -r 20 file
Маркус Леон
2
также может быть полезно искать по ключевому слову вместо точного имени файла, hg log -k keyword
Despertar
Это дает мне нулевой выход / отклик; Ничего не произошло.
temporary_user_name
27

Расширение hgk дает вам hg view fileкоманду, которая показывает визуальную историю, из которой вы можете сравнить / vdiff произвольную пару ревизий.

TortoiseHg дает вам thg log fileкоманду, которая делает то же самое, но выглядит лучше.

Джеффри Чжэн
источник
очень хорошо! но 'hgtk' теперь только оболочка, пожалуйста, используйте 'thg' в linux
milkplus
1
hgk работает для целых ревизий, но как заставить его различать отдельные файлы ?
keflavich
9

Для удобочитаемости

hg diff -r revision1:revision2 file

Где revision1 и revision2 могут быть тегом, ревизией и т. Д.

Карло Чам
источник
5

Если вы используете TortoiseHg: пользователи Windows могут использовать проводник Windows и просматривать историю изменений, щелкнув файл правой кнопкой мыши.

Для пользователей Linux вы можете сделать это в TortoiseHg, но мне потребовалось время, чтобы понять, как это сделать. Вам нужно щелкнуть правой кнопкой мыши по желаемому файлу и выбрать «История файлов». Однако по какой-то загадочной причине файл нужно оставить без изменений. Кроме того, найти нужный файл можно двумя способами:

В ### revision set query###можно ввести:

file("**<myfile>")

Двойное ** необходимо для рекурсивного поиска в каталогах. Это сразу дает вам список всех репозиториев, в которых желаемый файл был изменен.

В качестве альтернативы, ### filter text ###сначала нажмите на знак вопроса и выберите «очистить», чтобы увидеть все файлы в репозитории. Затем внутри ### filter text ###поля вы можете сократить количество отображаемых файлов.

В качестве альтернативы пользователи Linux могут сделать это с терминала, как было предложено выше Джеффри Чжэн:

thg log file
Джаспер Уиджлингс
источник
Возможно, это изменилось с 2010 года, но я могу щелкнуть измененный файл в THG и просмотреть историю изменений.
UuDdLrLrSs