When Mercurial is running under cygwin, it's a bit tricky to figure out how to spawn WinMerge to resolve merge conflicts. How can I do this?
相关问题
- Merge dataframes that have indices that one contai
- Merge Data from different Queries without duplicat
- Merging 1300 data frames into a single frame becom
- Correct procedure to use pending branch changes in
- Mercurial compared to private branches in SVN
相关文章
- Mercurial Commit Charts / Graphs [closed]
- What is the tortoisehg gui equivalent of doing “hg
- How to use Mercurial from Visual Studio 2010?
- Is there a version control system abstraction for
- Mercurial discard local changes of a file or group
- git.exe: error while loading shared libraries: ?:
- Mercurial .hgignore Negative Lookahead
- ffmpeg run from shell runs properly, but does not
Here is the shell script line that works for Subversion/cygwin/WinMerge. The main difference is which arguments to use.
Note that this example also sets the description fields and launches the comparisons in the background, so that all diffs are launched at once. If you don't like that, remove the '&'.
If you don't know what your revision control program is passing you, try adding 'echo $@' to your shell script. It will print the arguments passed to the script.
The trick is that cygwin paths are not the same as Windows paths, so you need a little script that converts the cygwin paths to Windows paths before passing them as arguments to WinMerge.
Here's how to do it:
(1) Create a shell script in
/usr/bin/winmerge
as follows:Note:
cygpath
converts path names. If WinMerge isn't in the default location, change the path here.(2) Make that file executable
(3) Add the following to your
~/.hgrc
file:Note! You probably already have a [ui] section with your name in it. Remember to merge my changes with yours, don't just add a new [ui] section. For example, my .hgrc looks like this: