如何在Mercurial中查看以前版本的文件

我正在使用mercurial进行目录中几个文件的版本控制。 假设我有10个提交(10个变更集或修订版)。 我只想查看一个特定的文件,比如thisFile.py,在第七版中查看。 我不想恢复到这个旧版本。 我不想去做任何修改或修复以前版本中的任何错误。 我只是想看到它,而不以任何方式影响最新版本的文件或mercurial历史。 有一个简单的方法来做到这一点?

使用带有-r (修订版)参数的hg cat命令。

 hg cat path_to/myfile.cpp -r 46 

其中46是版本号(使用hg log查看修订历史logging)

 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 

要提取特定文件的特定版本,您可以在Windows中执行此操作:

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

这里的9是修订号。

甚至更好:

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