http://tortoisesvn.net/docs/nightly/TortoiseSVN_zh_CN/tsvn-dug-diff.htmlhtml
在项目开发中,有一个很经常使用的要求就是查看更改。多是你要求查看同一文件的两个版本之间的差别,或者是查看两个独立的文件的差别。TortoiseSVN 自带了一个工具叫 TortoiseMerge 用来查看文本文件的差别。也有一个叫 TortoiseIDiff 的工具来查看图像文件的差别。固然,你能够根据你本身的喜爱来选择比较差别的工具。浏览器
若是你想看到你的本地副本有哪些更加,只用在资源管理器中右键菜单下选app
→ 。若是你想查看主干程序(假如你在分支上开发)有哪些修改或者是某一分支(假如你在主干上开发)有哪些修改,你可使用右键菜单。在你点击文件的同时按住Shift键,而后选择 → 。在弹出的对话框中,将特别显示将与你本地版本作比较的版本的URL地址。异步
你还可使用版本库浏览器,选择两个目录树比较,也许是两个标记,或者是分支/标记和最新版本。右键菜单容许你使用“比较文件夹”一节以便得到更多信息。ide
来比较它们。阅读若是你想查看某一特定版本与本地副本之间的差别,使用显示日志对话框,选择要比较的版本,而后选择在右键菜单中选svn
若是你想查看上一次提交的版本和你的工做副本之间的差别,假设你的工做副本没有被修改,只要用右键单击文件。而后选择函数
→ 。这样将会对上一次提交时间(记录在你的工做副本中)以前的版本和工做基础版本进行差别比较。它将会显示工做副本中此文件变成当前状态的那一次修改。它不会显示比工做副本更新的修改。若是你要查看任意已提交的两个历史版本之间的差别,在版本日志对话框中选择你要比较的两个版本(通常使用 Ctrl-更改),而后在右键菜单中选工具
若是你在文件夹的版本日志中这样作,就会出现一个比较版本对话框,显示此文件夹的文件修改列表。阅读“比较文件夹”一节以便得到更多信息。ui
若是你要在一个视窗中查看某一版本的全部更改,你可使用统一显示全部比较 (GNU 片断整理)。它将显示全部修改中的部份内容。它很难显示一个全面清晰的比较,可是会将全部更改都集中显示出来。在版本日志对话框中选择某一版本,而后在右键菜单中选择this
。若是你要查看两个不一样文件之间的差别,你能够直接在资源管理器中选择这两个文件(通常使用 Ctrl-modifier),而后右键菜单中选 → 。
若是你要查看你本地副本中的某个文件与任意 Subversion 版本库中的某个文件之间的差别,你能够之间在资源管理器中操做,选中文件而后按下 Shift 键,同时右键单击显示右键菜单。选中 → 。你能够对工做副本文件夹作相同的操做。TortoiseMerge 经过与显示补丁文件相同的方法显示文件夹差别 - 你能够经过一个已修改文件列表分别查看某个文件。
若是你要查看的不只是比较差别并且包括修改该版本的做者,版本号和日期,你能够在版本日志对话框中综合比较差别和追溯信息。这里有更多详细介绍“追溯不一样点”一节。
TortoiseSVN 自带的内置工具不支持查看多级目录之间的差别,但你可使用支持该功能的外置工具来替代。在 “其余的比较/合并工具”一节 介绍了一些咱们使用过的工具。
若是你已经配置了第三方的比较工具,你能够在选择比较差别命令的时候按下 Shift 键来选择替代工具。关于配置其它比较工具,请参阅 “外部程序设置”一节。
在项目的生命周期中,有时可能会将行结束符由 CRLF
改成 LF
,或者修改一段代码的缩进。不幸的是这样将会使大量的代码行被标记为已修改,尽管代码自己并无被修改。这里列出的选项将会在比较差别和应用补丁时帮助你应对这些修改。你将会在合并和追溯对话框中看到这些设置,它们一样也出如今 TortoiseMerge 的设置中。
忽略行结束符 排除仅行结束符的差别。
比较空白 将全部缩进和行内空白差别视为增长/删除的行。
忽略空白修改 排除那些彻底是针对空白数量或类型的修改,例如,修改缩进或者将 tab 改成空格。在原来没有空白的地方增长空白或删除所有空白仍然会显示为修改。
忽略全部空白 排除仅空白改变的差别。
天然的,任何已经修改内容的行永远都包含在差别中。
当你在版本库浏览器中选择了两个树,或者在日志对话框中选择了一个文件夹的两个版本,就可使用 → 。
这个对话框显示一个全部已经修改的文件列表,容许你使用右键菜单单独的比较或追溯它们。
你能够导出修改树,当你须要将仅包含已修改文件的项目树结构发送给其它人的时候颇有用。这个操做仅对选中的文件有效,因此须要选择你感兴趣的文件 - 一般这就意味着所有文件 - 而后使用 → 。而后会提示你选择目录保存修改树。
你也能够经过列表导出为文本文件。
→ 将修改过的文件若是你须要导出文件列表和动做(修改,增长,删除),你可使用 → 。
顶部的按钮容许你改变比较的方向。你能够显示从A到B的修改,或者若是你喜欢,显示从B到A的修改。
有版本数字的按钮能够用来改变版本范围。当你改变范围时,两个版本不一样的项目列表会自动更新。
若是列表中的文件很是多,你可使用查找框来筛选文件名中包含指定文字的文件,从而减小列表中的文件。注意这里使用的是简单文本查找,因此当你须要显示 C 语言源码的列表时,你应该输入.c
而不是 *.c
。
咱们有许多有用的比较文本文件的工具,包括咱们自带的TortoiseMerge,可是咱们也须要查看图像文件的更改。这就是咱们设计TortoiseIDiff的缘由。
→ 会启动 TortoiseIDiff 显示经常使用格式的图像差别。通常状况下是左右对称地显示两个图像,但你也能够经过视图菜单或者工具栏切换为上下显示的模式,或者若是你愿意,也能够重叠显示图像。
固然你也能够放大和缩小,或者移动图像。你也能够简单的经过左键拖拽来移动图像。若是你选择连接图像位置,则移动控制(滑动条,鼠标滚轮)对两幅图像同时生效。
在图像信息框中显示了图像的基本信息,好比像素的大小,颜色的深度。若是以为这个框碍眼能够选择
→ 来隐藏它。当你的鼠标指针位于图像标题栏上方时,能够从工具提示中得到一样的信息。当图像叠加时,图像的相对亮度(alpha 混合)由左边的滑杆控制。你能够点击滑杆的任意地方来设置混合参数,或者经过拖曳滑杆来交互改变。Ctrl+Shift-鼠标滚轮也能够改变混合参数。
滑杆上方的按钮能够切换 0% 和 100% 混合,若是你双击按钮,会每隔两秒钟自动切换,直到再次点击按钮为止。当查看多处小更改时,这个功能颇有用。
有时你想要查看不一样但不是混合图像。也许你有两个版本的印刷电路板图像文件,想查看哪些线条改变了。若是你关闭 alpha 混合模式,不一样之处会以像素颜色值的或非(XOR)结果显示。未修改的区域是纯白色的,修改的部分则是彩色的。
When you want to diff non-text documents you normally have to use the software used to create the document as it understands the file format. For the commonly used Microsoft Office and Open Office suites there is indeed some support for viewing differences and TortoiseSVN includes scripts to invoke these with the right settings when you diff files with the well-known file extensions. You can check which file extensions are supported and add your own by going to External Programs section.
→ and clicking in theIf you installed the Click-to-Run version of Office 2010 and you try to diff documents you may get an error message from Windows Script Host something like this: “ActiveX component can't create object: word.Application”. It seems you have to use the MSI-based version of Office to get the diff functionality.
若是咱们提供的这些工具不是你所须要的,能够尝试使用一些其余开源的或者商业的软件。每一个人都有不一样喜爱,下面列表虽不彻底,或许有些你也会承认的:
WinMergeWinMerge也是一款很好的能处理目录的开源软件。
Perforce 是一款商业 RCS,可是你也能够免费下载到。能够从Perforce得到更多信息。
KDiff3也是一款能处理目录的免费比较工具。你能够从here下载。
SourceGear Vault is a commercial RCS, but you can download the diff/merge tool for free. Get more information fromSourceGear.
ExamDiff Standard是免费软件。它能处理文件但不能处理目录。ExamDiff Pro是共享软件,拥有一系列的功能包括目录比较和编辑的能力。对于以上体验,3.2及以上版本能处理二进制。你能够从PrestoSoft下载它们。
和ExamDiff Pro同样,这也是一款很不错的共享软件,一样也能进行目录比较和二进制处理。下载地址Scooter Software。
Araxis Merge是一款能对文件和文件夹进行比较和合并的商业软件。在合并时它进行三路比较,并且在你修改函数的顺序时能够进行异步连接。能够从这里下载 Araxis。
“外部程序设置”一节这里能够了解到怎样起用TortoiseSVN来使用这些工具。