In general, integrating DeltaWalker with CM, SC and other apps is done via a command line interface.
DeltaWalker is the only comparison tool to offer a one-click integration
with some of the most popular SCMs: Bazaar, Git, Mercurial and Subversion.
If one or more of these SCMs is installed on your system and you want to use DeltaWalker
as their external diff and merge tool all you need to do is go to
SCM Integration preference page, select the SCM(s) of interest
and DeltaWalker will do all the tedious work behind the scene for you. One click.
That's all.
Not all SCMs or apps can be one-click-integrated though. For those, we offer the specific instructions below. For the curious, and for completeness, we also offer the details on the behind-the-scene work performed by DeltaWalker in the case of one-click-integration is supported.
It's worth noting that DeltaWalker automatically detects the type of resources that are passed to it for comparison. That is, when given one or more file or folder URIs as command line parameters DeltaWalker detects their type and count and compares them accordingly.
Delta Walker provides easy way to Automatic integration of some Source control systems. Please refer to Automatic integration section for the particular SCMs to use this feature.
Below are the integration instructions with SCMs and apps DeltaWalker has been tested with:
Go to the
SCM Integration preference page. If Bazaar is installed
on your system it will be listed - select/check its checkbox, then click OK. If
it's not listed, please download Bazaar and install it first.
You should now be able to run bzr dwdiff in your local
Bazaar branch just like you'd run bzr diff.
If you want to use DeltaWalker as Bazaar's external merge tool for resolving conflicts, Bazaar's extmerge plug-in needs to be installed. If necessary you can install it using the following steps:
On Mac OS X and Linux, execute the following commands in a Terminal/Shell window:
mkdir -p ~/.bazaar/plugins
cd ~/.bazaar/plugins
bzr branch lp:bzr-extmerge extmerge
On Windows, open a Command Propmt window and execute (if necessary, adjust the path to the Bazaar's installation folder):
cd C:\Program Files\Bazaar\plugins
bzr branch lp:bzr-extmerge extmerge
You should now be able to resolve conflicts using DeltaWalker by running:
bzr emerge filename
bzr emerge --all
When you are sure that the conflict has been resolved, run:
bzr resolve filename
bzr resolve --all
Unless you want to know what automatic integration does for you behind the scene or something has gone wrong with it and you need to set it straight, you can ignore the manual integration steps that follow.
Mac OS and Linux
Instruct Bazaar to use DeltaWalker as its external diff and merge tool by adding
the following to Bazaar's configuration file ~/.bazaar/bazaar.conf:
[DEFAULT]
external_merge = /Applications/DeltaWalker.app/Contents/MacOS/bzr-merge %t %o %b %r
[ALIASES]
dwdiff = diff --using "/Applications/DeltaWalker.app/Contents/MacOS/bzr-diff"
The above example uses the default DeltaWalker install location on Mac OS X. If DeltaWalker was installed in a different location, or if you are using Linux, please update the path to the DeltaWalker executable accordingly.
The two shell scripts referenced above should have the following content:
bzr-merge:
#!/bin/sh
DW_PATH=`dirname "$0"`
java -Ddw.path="$DW_PATH" -jar "$DW_PATH/dw.jar" "$1" "$2" "$3" -merged="$4" -wait
bzr-diff:
#!/bin/sh
DW_PATH=`dirname "$0"`
java -Ddw.path="$DW_PATH" -jar "$DW_PATH/dw.jar" "$1" "$2" -wait
Windows
Instruct Bazaar to use DeltaWalker as its external diff and merge tool by adding
the following to Bazaar's configuration file %APPDATA%\bazaar\2.0\bazaar.conf:
[DEFAULT]
external_merge = "C:/Program Files/Deltopia/DeltaWalker 1.9/bzr-merge.bat %t %o %b %r"
[ALIASES]
dwdiff = 'diff --using "C:/Program Files/Deltopia/DeltaWalker 1.9/bzr-diff.bat"'
Note: if DeltaWalker is installed in a different location you need to reflect that
in the bazaar.conf file.
The two batch files above have the following content:
bzr-merge.bat:
@echo off
set DW_PATH=C:\Program Files\Deltopia\DeltaWalker 1.9
javaw -Ddw.path="%DW_PATH%" -jar "%DW_PATH%\dw.jar" %1 %2 %3 -merged=%4 -wait
bzr-diff.bat:
@echo off
set DW_PATH=C:\Program Files\Deltopia\DeltaWalker 1.9
javaw -Ddw.path="%DW_PATH%" -jar "%DW_PATH%\dw.jar" %1 %2 -wait
Go to the
SCM Integration preference page. If Git is installed on
your system it will be listed - select/check its checkbox, then click OK. If it's
not listed, please download Git and install it first.
You should now be able to use DeltaWalker as Git's external diff and merge tool by running:
git diff
git mergetool
Mac OS and Linux
Instruct Git to use DeltaWalker as its external diff and merge tool by adding the
following to Git's global configuration file ~/.gitconfig:
[diff]
external = "/Applications/DeltaWalker.app/Contents/MacOS/git-diff"
[merge]
tool = deltawalker
[mergetool "mydeltawalker"]
cmd = '/Applications/DeltaWalker.app/Contents/MacOS/git-merge' "$LOCAL" "$REMOTE" "$BASE" "$MERGED"
The two shell scripts in the example above have the following content:
git-diff:
#!/bin/sh
DW_PATH=`dirname "$0"`
java -Ddw.path="$DW_PATH" -jar "$DW_PATH/dw.jar" "$2" "$5"
The file git-merge should have the following content:
git-merge:
#!/bin/sh
DW_PATH=`dirname "$0"`
java -Ddw.path="$DW_PATH" -jar "$DW_PATH/dw.jar" "$1" "$2" "$3" -merged="$PWD/$4" -wait
These files change the order of the parameters supplied by git to its diff
and the merge commands to the order expected by DeltaWalker.
Windows
Instruct Git to use DeltaWalker as its external diff and merge tool by adding the
following to Git's configuration file %USERPROFILE%\.gitconfig :
[diff]
external = 'C:/Program Files/Deltopia/DeltaWalker 1.9/git-diff'
[merge]
tool = deltawalker
[mergetool "deltawalker"]
cmd = 'C:/Program Files/Deltopia/DeltaWalker 1.9/git-merge' "$LOCAL" "$REMOTE" "$BASE" "$MERGED"
In the example above, the two shell script files git-diff and git-merge
are provided in the DeltaWalker default installation folder e.g. C:/Program Files/Deltopia/DeltaWalker
1.9/. If DeltaWalker is installed elsewhere you need to update its path
in .gitconfig.
The shell script git-diff is the same as the one expected for Mac
OS and Linux except DW_PATH variable, which needs to be set to DeltaWalker
installation directory (i.e. C:/Program Files/Deltopia/DeltaWalker 1.9).
The file git-merge should have the following content:
#!/bin/sh
DW_PATH=C:/Program Files/Deltopia/DeltaWalker 1.9
java -Ddw.path="$DW_PATH" -jar "$DW_PATH/dw.jar" "$1" "$2" "$3" -merged="$PWD/$4" -wait
Once done merging, you need to save the contents of the Ancestor window using
the Save menu, button, or shortcut so that DeltaWalker can save it to the file specified
by the merged parameter.
Go to the
SCM Integration preference page. If Mercurial is installed
on your system it will be listed - select/check its checkbox, then click OK. If
it's not listed, please download Mercurial and install it first.
You can now use Mercurial to invoke DeltaWalker when you need to perform diff or merge operation:
hg dwhg merge
Mac OS and Linux
Instruct Mercurial to use DeltaWalker as its external diff and merge tool by adding
the following to Mercurial's configuration file ~/.hgrc:
[ui]
merge = dw
[extensions]
hgext.extdiff =
[extdiff]
cmd.dw = /Applications/DeltaWalker.app/Contents/MacOS/hg
[merge-tools]
dw.executable = /Applications/DeltaWalker.app/Contents/MacOS/hg
dw.args = $local $other $base -merged=$output
The above example uses the default DeltaWalker installation folder on Mac OS X. If DeltaWalker was installed in a different location, or if you are using Linux, please update its path accordingly.
The above shell script hg should look like that:
hg:
#!/bin/sh
DW_PATH=`dirname "$0"`
java -Ddw.path="$DW_PATH" -jar "$DW_PATH/dw.jar" "$1" "$2" "$3" "$4" "$5" "$6" -wait
Windows
Tell Mercurial to use DeltaWalker as its external diff and merge tool by adding
the following to Mercurial's configuration file %USERPROFILE%\.hgrc
:
[ui]
merge = dw
[extensions]
hgext.extdiff =
[extdiff]
cmd.dw = C:/Program Files/Deltopia/DeltaWalker 1.9/hg.bat
[merge-tools]
dw.executable = C:/Program Files/Deltopia/DeltaWalker 1.9/hg.bat
dw.args = $local $other $base $output
The batch file hg.bat is located in the default DeltaWalker installation folder.
If DeltaWalker has been installed elsewhere its location will needs to be updated
in .hgrc. Its contents should look like that:
hg.bat:
@echo off
set DW_PATH=C:\Program Files\Deltopia\DeltaWalker 1.9
javaw -Ddw.path="%DW_PATH%" -jar "%DW_PATH%\dw.jar" %1 %2 %3 -merged=%4 %5 %6 -wait
Version Control with Subversion provides the definitive guide to Subversion and its Using External Differencing Tools section gives a detailed explanation on the topic of integration with external diff tools.
Go to the
SCM Integration preference page. If Subversion is installed
on your system it will be listed - select/check its checkbox, then click OK. If
it's not listed, please download Subversion and install it first.
To launch DeltaWalker as 2-Way diff tool, type:
svn diff
To launch DeltaWalker as merge tool to resolve conflicts, run:
svn update
You will then be prompted to select an option:
Select: (p) postpone, (df) diff-full, (e) edit,
(mc) mine-conflict, (tc) theirs-conflict,
(s) show all options:
Use option 'l', which, due to config file
changes, will launch DeltaWalker ('l' is not seen as an option.
You can use 's' to see it listed). After resolving the
conflict, save file in the center window. (The Original file from which both
versions of the Left and the Right files were derived from). Close
DeltaWalker and select 'r' for resolved.
Mac OS and Linux
Modify the Subversion configuration file: ~/.subversion/config. Uncomment
out, or add if missing, the lines shown below and set their values as such:
[helpers]
diff-cmd = /Applications/DeltaWalker.app/Contents/MacOS/svn-diff
merge-tool-cmd = /Applications/DeltaWalker.app/Contents/MacOS/svn-merge
The above example uses the default DeltaWalker installation folder on Mac OS X. If DeltaWalker was installed in a different location, or if you are using Linux, please update its path accordingly.
svn-diff:
#!/bin/sh
DW_PATH=`dirname "$0"`
java -Ddw.path="$DW_PATH" -jar "$DW_PATH/dw.jar" "$6" "$7"
svn-merge:
#!/bin/sh
DW_PATH=`dirname "$0"`
java -Ddw.path="$DW_PATH" -jar "$DW_PATH/dw.jar" "$3" "$2" "$1" -merged="$PWD/$4" -wait
Windows
Modify the Subversion configuration file: %APPDATA%\Subversion\config
by adding the lines shown below:
[helpers]
diff-cmd = "C:\Program Files\Deltopia\DeltaWalker 1.9\svn-diff.bat"
merge-tool-cmd = "C:\Program Files\Deltopia\DeltaWalker 1.9\svn-merge.bat"
These batch files should have the fallowing content:
svn-diff.bat:
@echo off
set DW_PATH=C:\Program Files\Deltopia\DeltaWalker 1.9
javaw -Ddw.path="%DW_PATH%" -jar "%DW_PATH%\dw.jar" "%6" "%7"
svn-merge.bat:
@echo off
set DW_PATH=C:\Program Files\Deltopia\DeltaWalker 1.9
javaw -Ddw.path="%DW_PATH%" -jar "%DW_PATH%\dw.jar" "%3" "%2" "%1" -merged="%4"
Go to Tools > Personal Options... In the Options dialog select the File tab then locate the Alternate Applications button near the bottom left corner. In the Alternate Applications dialog check the Comparison Utility checkbox, if not checked, then either type the path to the DeltaWalker executable or use the browse (...) button to bring up the Select File dialog select it. In the Options text field immediately below supply the following options:
-nosplash $file1 $file2
Open the WinCVS preferences—in ver. 2.0.2 go to Admin > Preferences... then select the WinCVS tab. In the Programs group box, check the External diff option, then either type the path to the DeltaWalker executable or use the browse button to bring up the Select File dialog and navigate to it. If you have installed DeltaWalker using the MSI installer accepting all defaults, the path to DeltaWalker.exe should be:
C:\Program Files\Deltopia\DeltaWalker 1.9\DeltaWalker.exe
Macromedia Dreamweaver supports external file comparison tools and documents the integration steps in its help—just type "diff tool" in the help search field and the associated topic should come up. In a nutshell, these are the steps:
Mac OS X
Macintosh HD:Applications:DeltaWalker.app:Contents:MacOS:DeltaWalker
Windows
C:\Program Files\Deltopia\DeltaWalker 1.9\DeltaWalker.exe
/ remains):
Applications/DeltaWalker.app/Contents/MacOS/DeltaWalkerthen select the DeltaWalker executable from the list.
You should now be able to use DeltaWalker as your XCode's external diff tool.