我试图使用WinMerge递归比较两个Subversion工作副本文件夹.
不幸的是,WinMerge在subversion控制文件夹(.svn
或_svn
)中显示了许多差异文件.
有可能以某种方式从比较中排除subversion文件夹吗?或者是否有其他(免费)差异工具能够做到这一点?
当您在TortoiseSVN之后安装winmerge时,它可以让您选择将winmerge与Tortoise联系起来.但是,如果我们在winmerge之后安装TortoiseSVN,我们如何将Winmerge用于代替Tortoise默认差异查看器.
我正在使用Git Extensions,它预先安装并设置KDiff作为解决合并冲突的diff工具.我非常喜欢Winmerge,并希望用Winmerge取代KDiff.
在Git Extensions设置中,有一些设置可以更改Mergetool,但我似乎无法弄清楚我应该使用什么语法以及为什么.似乎有4个变量:$ BASE,$ LOCAL,$ REMOTE,$ MERGED.看来我应该将这些传递给WinMergeU.exe,但是哪个命令行参数?
我曾尝试过几次搜索,但实际上似乎没有答案.
我正在尝试将WinMerge与Git集成,因为我之前在Windows 7旗舰版上看到过其他人.
我已经按照以下步骤操作,但是当我执行git mergetool时默认继续显示错误,默认为vimdiff.
在git的根目录中创建了一个名为winmerge.sh的文件:C/Program Files(x86)/ Git/with:WinMergeU是正确的位置.
#!/bin/sh
echo Launching WinMergeU.exe: $1 $2
"C:/Program Files (x86)/WinMerge/WinMergeU.exe"
git /e /u /dl "Base" /dr "Mine" "$1" "$2"
Run Code Online (Sandbox Code Playgroud)
并使用以下命令.
git config --global diff.tool winmerge
git config --global difftool.winmerge.cmd "winmerge.sh \"$LOCAL\" \"$REMOTE\""
git config --global difftool.prompt false
Run Code Online (Sandbox Code Playgroud)
错误显示为:
git config option merge.tool set to unknown tool: winmerge
Run Code Online (Sandbox Code Playgroud) 如果我添加C:\Program Files (x86)\WinMerge
到User PATH
变量(通过右键单击计算机 - >高级系统设置 - >环境变量),一旦我打开一个新的cmd shell,WinmergeU.exe就无法识别.如果我将该路径添加到System PATH
变量,则会正确识别WinmergeU.exe.我虽然用户和系统之间没有区别,但是如果我在系统上设置它,所有用户都会看到它,而用户PATH
是本地的.难道我做错了什么?
编辑1:
在下面您可以先看到C:\Program Files (x86)\WinMerge
添加到System PATH
变量(但不是用户)的情况,然后将其添加到User PATH
变量(但不添加到System).在第一种情况下,Winmerge窗口正确启动(未显示),您可以看到路径由echo%PATH%命令显示.在第二种情况下,它不会启动,并且回路%PATH%不显示路径.(注意我在确认之前已经清楚地确认并在拍摄这些截图之前关闭了环境变量窗口,并且在更改PATH并按下确定之后我立即打开了一个新的cmd).这个问题可能与我的问题有关(echo%PATH%只扩展到系统还是扩展到用户变量?)但是因为它可能不是我发布了两个不同的问题.
我正在尝试将WinMerge设置为TortoiseHG中的合并工具; 这是我的Mercurial.ini:
; User specific Mercurial config file.
; See the hgrc man page for details.
[ui]
username = Bargio <>
merge = winmergeu
[extdiff]
cmd.winmerge = C:\Program Files (x86)\WinMerge\WinMergeU.exe
opts.winmerge = /e /x /ub /wl
[merge-tools]
winmergeu.executable = C:\Program Files (x86)\WinMerge\WinMergeU.exe
winmergeu.priority= 1
winmergeu.fixeol=True
winmergeu.checkchanged=True
winmergeu.args= /e /ub /dl other /dr local $other $local $output
winmergeu.gui=False
[tortoisehg]
vdiff = winmerge
Run Code Online (Sandbox Code Playgroud)
Visual diff工作得很好但是当我尝试合并两个文件时,我收到以下错误:
tool winmergeu can't handle binary
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
我开始使用WinMerge,我希望看到行号在文件中轻松导航.我找不到选项在哪里可以做到.
有人知道我在哪里可以打开它或者它可能吗?
最初的问题是"如何将WinMerge配置为TFS的比较和合并工具".但是,我正在改变它,因为TehOne回答了这个问题的更一般形式.
虽然我会在Stackoverflow上已经提出过这个问题.我在其他地方找到了答案,但我在这里问/回答.它现在是一个社区维基.
使用TFS合并工具,我可以单击左侧和右侧以保持两个更改/冲突.当我添加一个方法而另一个团队成员在同一个地方添加一个方法时我需要保留它们.在WinMerge(文件合并,而不是文件夹)中,似乎我只能用左边覆盖右边.是否可以将WinMerge复制到左侧,并保持正确?