Как просмотреть историю изменений файла 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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.