2010-08-11 6 views
94

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

И как вы можете изменить две версии файла?

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

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

ответ

116
hg log file 

hg diff -r 10 -r 20 file 
+1

Совершенный .. Работает с ExamDiff тоже: '-r ExamDiff рт.ст. 10 -r 20 file' –

+2

он может также полезно искать ключевое слово вместо точного имени файла, hg log -k keyword – Despertar

+0

Это дает мне нулевой вывод/ответ; Ничего не произошло. – Aerovistae

23

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

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

+0

очень приятно! но «hgtk» теперь только обертка, пожалуйста, используйте «thg» в linux – milkplus

+1

hgk работает для целых ревизий, но как вы можете его разграничить отдельные * файлы *? – keflavich

8

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

hg diff -r revision1:revision2 file 

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

3

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

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

В ### revision set query### можно Тип:

file("**<myfile>") 

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

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

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

thg log file 
+0

Возможно, это изменилось с 2010 года, но я могу нажать на измененный файл в THG и просмотреть историю изменений. – DaveInCaz