是否可以使用Mercurial版本控制来跟踪Word或PDF文件?是否存在任何限制或问题?
你将能够为MS Word文档进行有意义的差异比较。
如果你已经安装了TortoiseHg并且设置了一个存储库,
右键单击要检查差异的文件。
在上下文菜单中,点击TortoiseHg > Visual Diffs。
在Visual Diffs对话框中,选择docdiff,而不是kdiff3。
在Visual Diffs对话框中双击文件。
MS Word将打开一个比较结果Word文档,显示当前版本和先前版本之间的更改作为已跟踪的更改。
是的,但你当然无法以任何有意义的方式进行差异化比较。因此,在合并过程中这些文件将被视为二进制文件。
Mercurial 完全可以跟踪二进制文件:
Mercurial通常不会对文件内容做出任何假设。因此,Mercurial的大多数功能都能很好地处理任何类型的文件。
无论文件类型如何,Mercurial都会存储二进制差异。 PDF/Word文件的问题在于对它们进行微小更改通常会导致其在磁盘上的二进制表示发生巨大变化。.docx
文件以zipped xml格式存储,由于压缩,存档内部的单个位反转就足以使zip存档看起来完全不同。
如果您的仓库不会太大,那么使用Mercurial时可能不会遇到任何问题。
小心建议
cmd.pdfdiff = [\path\to\diffpdf.exe]
opts.pdfdiff= -a $local $other
在extdiff环境中,$local和$other没有任何意义。而是将字符串"$local"和"$other",而不是文件名,传递给"diffpdf.exe"。我曾经吃了这个亏。
cmd.pdfdiff = [\path\to\diffpdf.exe]
opts.pdfdiff= -a
对于PDF文件,我能够使用GPL许可的DiffPDF来比较不同版本的PDF文件。
我在我的mercurial.ini
文件中添加了以下内容:
[extdiff]
cmd.pdfdiff = [\path\to\diffpdf.exe]
opts.pdfdiff= -a $local $other
[diff-patterns]
**.pdf=pdfdiff
现在当我在tortoisehg中点击pdf文件(或在cmd行中使用),它会打开两个文件进行比较。由于我的pdf文件往往包含图像,因此我使用外观比较器(中的-a)。如果您主要处理文本,则可以改用-w
。
它默认使用高亮显示来显示差异。我更喜欢使用“Src Xor Dest”选项来显示差异,但我不认为有一个命令行选项可以实现这一点。