как просмотреть предыдущую версию файла в Mercurial - PullRequest
44 голосов
/ 24 декабря 2010

Я использую Mercurial для контроля версий нескольких файлов в каталоге.Предположим, у меня есть 10 коммитов (10 ревизий или ревизий).Я хочу просто посмотреть, как конкретный файл, скажем thisFile.py, выглядел в своей 7-й ревизии.Я не хочу возвращаться к этой старой версии.Я не хочу идти и вносить какие-либо изменения или исправлять ошибки в предыдущей версии.Я просто хочу увидеть его, не затрагивая последнюю версию файла или историю ртути.Есть ли простой способ сделать это?

Ответы [ 3 ]

63 голосов
/ 24 декабря 2010

Используйте команду hg cat с аргументом -r (редакция).

hg cat path_to/myfile.cpp -r 46

, где 46 - номер редакции (используйте hg log для просмотра истории редакций)

10 голосов
/ 24 декабря 2010
hg cat [OPTION]... FILE...

Print the specified files as they were at the given revision. 
If no revision is given, the parent of the working directory is used, 
or tip if no revision is checked out.

Output may be to a file, in which case the name of the file is given 
using a format string. The formatting rules are the same as for the 
export command, with the following additions:
%s: basename of file being printed
%d: dirname of file being printed, or '.' if in repository root
%p: root-relative path name of file being printed

Returns 0 on success.

options:
-o, --output    print output to file with formatted name
-r, --rev   print the given revision
--decode    apply any matching decode filter
-I, --include   include names matching the given patterns
-X, --exclude   exclude names matching the given patterns
6 голосов
/ 15 ноября 2013

Чтобы извлечь конкретную ревизию определенного файла, вы можете сделать это в Windows:

hg cat "<FileToBeExtractedPath>" -r 9 > "<ExtractionPath>"

Здесь 9 - номер ревизии.

Или даже лучше:

hg cat "<FileToBeExtractedPath>" -r 9 -o "<ExtractionPath>"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...