`

集成winmerge作为subversion的diff工具

阅读更多

subversion默认的diff工具比较简单,文本界面,在使用时不是很理想。

    winmerge则是一款非常优秀的diff/merger工具,由于winmerge自带和clearcase的集成功能,因此我在公司工作环境下一直都是使用winmerge替代clearcase自带的diff工具。

    近日使用svn,每次执行svn diff后都对出来的文本比较结果的效果不满意,即使换成TortoiseSVN的diff工具也还是不够好。因此产生想法,能否将winmerger集成到subversion.

    google了一下"winmerge subversion",顺利在国外的一个blog上找到答案,实验了一下,很成功,效果非常好,现在将具体方法共享出来。

    设置之前首先请先安装好subversion和winmerge,之后步骤如下:

    1.建立bat文件
        文件名winmergediff.bat,内容如下:

        start "WinMerge" /B /WAIT "C:\Program Files\WinMerge\WinMergeU.exe" /e /ub /dl %3 /dr %5 %6 %7

        请保证WinMergeU.exe的路径和实际安装路径一致。这个文件放哪里无所谓,方便起见我放到subversion的客户端配置目录中。


    2.修改subversion的客户端配置文件

   
        在windows下,subversion的客户端配置文件存放在当前用户的application data目录下,具体路径取决于操作系统。

        在vista下路径是 C:\Users\**user**\AppData\Roaming\Subversion.
        在windows 2003下路径是c:\Documents and Settings\**user**\Application Data\Subversion.

        打开config文件,找到这行
            # diff-cmd = ********
        打开注释,将内容修改为
            diff-cmd = C:\Users\**user**\AppData\Roaming\Subversion\winmergediff.bat
   

    测试一下,在命令行下执行 svn diff,可以看到winmerge会启动并显示两个不同版本的文件,diff的效果可不是svn那个文本界面能比的。


    顺便去官网看了一下,发现现在使用的winmerge的版本比较旧了,下了一个新版本测试了一下,在安装时发现有两个选项,分别是和clearcase/TortoiseSVN集成,对于TortoiseSVN用户就非常的方便了。如果使用绿色版本的winmerge,可以自行手工设置,在settings->external programs->diff viewer中设置:"D:\Program Files\WinMerge\WinMergeU.exe -e -x -ub -dl %bname -dr %yname %base %mine"。


    对于其他的版本控制工具,winmerge提供了相应的集成方法,详细请看官网文档
    Version control integration
    http://winmerge.org/docs/manual/VersionControl.html

    饮水思源,贴出来找到的blog地址,作者还试过集成windiff,使用类似工具的朋友可以参考他的方法。
    http://flimflan.com/blog/UsingWinMergeWithSubversion.aspx

    值得注意的是有个回帖,提到一个改进,"single-instance behavior",不清楚这个特性的作用,有兴趣的朋友可以研究一下:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->I have what I think is an improvement -- the latest version of WinMerge allows you to have "single-instance behavior"-- ie. One instance of WinMerge can have several diff sessions (comparisons of pairs of files) open in it.

To use this, just take out the "/WAIT" and add the "/s":

start "WinMerge" /B "C:\Program Files\WinMerge\WinMergeU.exe" /e /s /ub /dl %3 /dr %5 %6 %7



分享到:
评论

相关推荐

    subversion客户端

    TortoiseSVN的特性还包括强大的图形界面,提供右键菜单选项,易于使用的diff工具,以及与Visual Studio、Office等其他应用程序的集成,使得Subversion操作更加便捷。 总的来说,Subversion客户端,尤其是...

    subVersion 1.7.22

    这使得SubVersion可以轻松集成到各种环境中,例如通过Apache HTTP Server或VisualSVN Server作为服务器,或者使用内置的svnserve服务。 标签(Tags)和分支(Branches)是SubVersion中非常重要的概念。标签是某一...

    subversion学习

    **Subversion 学习快速指南** Subversion,简称 SVN,是一种版本控制系统,用于跟踪文件和目录的更改,便于多人协作开发。与CVS相比,Subversion提供了更多选择且操作更为简便。以下是一份快速入门教程,帮助你在最...

    软件环境配置及开发管理资料及相关实验

    此外,还有一些图形化的Diff工具,如Beyond Compare和WinMerge,它们提供了更直观的对比界面,便于审查和合并更改。 4. 实验上机题目: - **版本控制实践**:设置个人的SVN工作环境,创建并提交第一个项目。 - **...

    phabricator在win7下安装所需所有软件以及安装教程

    Phabricator需要一个文本差异比较工具,如WinMerge或KDiff3,用于查看代码变更。安装后,配置Phabricator的diff工具设置,指向已安装的diff工具路径。 6. **安装Phabricator**: 从官方网站下载Phabricator的源...

    TortoiseSVN-1.14.3.29387-x64-svn-1.14.2

    总之,TortoiseSVN作为Subversion的图形化客户端,为开发者提供了强大的代码版本控制能力,是协同开发和项目管理的重要工具。其汉化版本更是方便了中文用户,提高了工作效率。通过上述操作,开发者可以有效地管理...

    svn管理开源工具

    TortoiseSVN是基于Windows操作系统的svn客户端,它以一个Windows Shell接口的形式集成到文件资源管理器中,使得svn命令变得直观易用。TortoiseSVN支持所有常见的svn操作,如检出、提交、更新、合并、解决冲突等,并...

    svn-win32-1.5.5_dev.zip(最新版)

    通过`svn-win32-1.5.5_dev.zip`,开发者可以获得Windows上的Subversion开发环境,包括编译工具、头文件和库,以便于自定义构建或扩展Subversion功能。不过,1.5.5版本相对较旧,现在最新的稳定版本可能是更高,因此...

    svn工具2个

    Subversion(简称svn)是一种版本控制系统,用于管理文件和目录的变更历史,广泛应用于软件开发、文档协作编辑等场景。本文将围绕“svn工具”这一主题,深入探讨TortoiseSVN及其语言包,帮助读者了解如何使用这些...

    TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi

    TortoiseSVN作为Subversion的客户端,与Windows资源管理器无缝集成,用户可以通过右键菜单直接进行版本控制操作,如检出、提交、更新、差异比较等。 1. **安装过程**:下载完成后,双击该msi文件启动安装向导,按照...

    svn_win32_win64.zip

    "svn_win32_win64.zip" 提供的是适用于Windows平台的SVN工具,包括32位和64位版本,确保兼容不同架构的计算机。 1. **SVN的基本概念**: - **版本库(Repository)**:SVN的核心组件,存储所有项目文件的中央...

    TortoiseSVN-1.7.4.22459-win32-svn-1.7.2

    TortoiseSVN是一款在Windows操作系统上广泛使用的版本控制系统客户端,尤其适合于使用Subversion(SVN)作为底层版本控制系统的项目。这个标题"“TortoiseSVN-1.7.4.22459-win32-svn-1.7.2”"表明我们正在讨论的是...

    SVN全套工具

    6. **自动合并工具**:集成外部的文本或二进制文件比较工具,如WinMerge,用于解决合并冲突。 使用TortoiseSVN,开发者可以高效地管理项目文件,确保团队间的协同工作流畅无阻,同时保持代码质量与版本控制。在下载...

    windows系统下SVN服务端安装包

    此外,SVN还支持多种操作,如更新(update)以获取他人所做的最新更改、合并(merge)不同分支的代码、查看差异(diff)以了解文件的变化,以及回退(revert)到以前的版本。这些功能对于协同开发和维护代码质量至关...

    svn-win32-1.5.0.zip

    总结,SVN-win32-1.5.0是Windows用户进行版本控制的有力工具,它简化了开发过程中文件管理和团队协作的过程,通过与TortoiseSVN等工具的结合,使得SVN在Windows环境下的使用更加得心应手。无论是在软件开发还是文档...

    TortoiseSVN

    在“TortoiseSVN-1.6.15.21042-win32-svn-1.6.16”这个版本中,我们看到了TortoiseSVN的1.6.15稳定版本,它包含了Subversion 1.6.16的核心库。这些版本号表明该软件在发布时已经经过了充分的测试,确保了稳定性和...

    svn-win32-1.8.4.zip

    SVN(Subversion)是Apache软件基金会开发的一款版本控制系统,用于管理源代码、文档等文件的版本变更。在Windows平台上,SVN提供了针对Windows 32位系统的版本,即"svn-win32"。"svn-win32-1.8.4.zip"是一个包含了...

    SVN版本控制工具1.7.6

    Visual SVN是另一款与SVN集成的工具,但它是针对Visual Studio开发环境的插件。Visual SVN允许开发者在VS IDE内直接进行SVN操作,提高了开发效率。通过它,开发者可以在编写代码的同时进行版本控制,无需离开IDE就能...

    svn-win32-1.4.6.zip

    SVN,全称为Subversion,是一款广泛应用于软件版本控制系统中的工具,主要负责管理代码库,跟踪文件和目录的变更,支持多人协作开发。在“svn-win32-1.4.6.zip”这个压缩包中,我们可以看到的是适用于Windows操作...

    TortoiseSVN-1.6.12.20536-win32-svn-1.6.15

    安装完成后,TortoiseSVN会集成到Windows资源管理器中,以右键菜单的形式提供各种SVN操作,如“Checkout”(检出)、“Commit”(提交)、“Update”(更新)、“Diff”(差异比较)等。 TortoiseSVN的特色在于其...

Global site tag (gtag.js) - Google Analytics