mrkd
9/3/2010 - 9:08 PM

beyondcompare-diff.sh

#!/bin/sh
# Use winmerge as mergetool for git in cygwin.
# 	git config --global mergetool.winmerge.cmd "winmerge-merge.sh \"\$LOCAL\" \"\$REMOTE\" \"\$BASE\" \"\$MERGED\""
#   git config --global mergetool.winmerge.trustExitCode false
#   git mergetool -t diffmerge

# Reference: http://www.tldp.org/LDP/abs/abs-guide.pdf
# Reference: http://winmerge.org/docs/manual/CommandLine.html

library=githelperfunctions.sh

#[ -f $library ] && . $library
. $library

echo Launching winmerge.exe - winmerge-merge.sh: 


set_path_vars "$1" "$2" "$3" "$4"

# -- use WinMergeU conflictFile
"$winmergewinpath" "$mergedwinpath"

#!/bin/sh
# Use winmerge as mergetool for git in cygwin.
# 	git config --global difftool.winmerge.cmd "winmerge-diff.sh \"\$LOCAL\" \"\$REMOTE\" \"\$BASE\""
#   git config --global mergetool.winmerge.trustExitCode false
#   git difftool -t winmerge branch1..branch2   

# Reference: http://www.tldp.org/LDP/abs/abs-guide.pdf
# Reference: http://winmerge.org/docs/manual/CommandLine.html


library=githelperfunctions.sh

#[ -f $library ] && . $library
. $library

echo Launching winmerge.exe - winmerge-diff.sh: 

set_path_vars "$1" "$2" "$3" "$4"

"$winmergewinpath" /dl "LOCAL.$caption" /dr "TO_VERSION.$caption" "$localwinpath" "$remotewinpath" 

# From: http://rubenlaguna.com/wp/2010/08/05/visual-difftool-cygwin-git/
# From: http://gist.github.com/509918
# Helper functions


convert_path () {
    file=$1

    if [ "$file" == '/dev/null' ] || [ ! -e "$file" ]
        then 
           file="/tmp/nulla"
           `echo "">$file`
    fi
    echo `cygpath -w -a	"$file"`
}


set_path_vars () {
	local=$1
	remote=$2
	base=$3
	merged=$4

	echo ========= Cygwin paths =======
	echo "LOCAL   :  $local"
	echo "REMOTE  :  $remote"
	echo "BASE    :  $base"
	echo "MERGED  :  $merged"

	localwinpath=$(convert_path "$local")
	remotewinpath=$(convert_path "$remote")
	basewinpath=$(convert_path "$base")
	mergedwinpath=$(convert_path "$merged")

	echo ========= Win paths =======
	echo "LOCAL   :  $localwinpath"
	echo "REMOTE  :  $remotewinpath"
	echo "BASE    :  $basewinpath"
	echo "MERGED  :  $mergedwinpath"

	caption=`basename "$merged"`
	beyondcompare="C:/Program Files (x86)/Beyond Compare 3/BComp.exe"
	diffmergewinpath="C:/Program Files/SourceGear/DiffMerge/DiffMerge.exe"
	winmergewinpath="C:/Program Files/WinMerge/WinMergeU.exe"
#	diffmergewinpath=`cygpath -u C:/Program Files/SourceGear/DiffMerge/DiffMerge.exe`
#	winmergewinpath=`cygpath -u \"C:\Program Files\WinMerge\WinMergeU.exe\"`
}
#!/bin/sh
# Use SourceGear DiffMerge as mergetool for git in cygwin.
# 	git config --global mergetool.diffmerge.cmd "diffmergetool.sh \"\$LOCAL\" \"\$REMOTE\" \"\$BASE\" \"\$MERGED\""
#   git config --global mergetool.diffmerge.trustExitCode false
#   git mergetool -t diffmerge

# Reference: http://www.tldp.org/LDP/abs/abs-guide.pdf

library=githelperfunctions.sh

#[ -f $library ] && . $library
. $library

echo Launching DiffMerge.exe - diffmerge-merge.sh: 

set_path_vars "$1" "$2" "$3" "$4"

"$diffmergewinpath" --merge -t1=FROM_VERSION -t2=MERGED -t3=TO_VERSION --result="$mergedwinpath" --caption="$caption" "$localwinpath" "$basewinpath" "$remotewinpath"

unix2dos "$merged"


#!/bin/sh
# Use SourceGear DiffMerge as mergetool for git in cygwin.
# 	git config --global mergetool.diffmerge.cmd "diffmergetool.sh \"\$LOCAL\" \"\$REMOTE\" \"\$BASE\" \"\$MERGED\""
#   git config --global mergetool.diffmerge.trustExitCode false
#   git difftool -t diffmerge branch1..branch2

# Reference: http://www.tldp.org/LDP/abs/abs-guide.pdf

library=githelperfunctions.sh

#[ -f $library ] && . $library
. $library

echo Launching DiffMerge.exe - diffmerge-diff.sh: 

set_path_vars "$1" "$2" "$3" "$4"

echo "$diffmergewinpath" -t1=FROM_VERSION -t2=TO_VERSION --caption=$caption $localwinpath $remotewinpath
"$diffmergewinpath" -t1=FROM_VERSION -t2=TO_VERSION --caption="$caption" "$localwinpath" "$remotewinpath"
#!/bin/sh
# Use SourceGear BeyondCompare as mergetool for git in cygwin.
# 	git config --global mergetool.bc3.cmd "beyondcompare-merge.sh \"\$LOCAL\" \"\$REMOTE\" \"\$BASE\" \"\$MERGED\""
#   git config --global mergetool.bc3.trustExitCode true
#   git mergetool -t bc3

# Reference: http://www.tldp.org/LDP/abs/abs-guide.pdf

library=githelperfunctions.sh

#[ -f $library ] && . $library
. $library

echo Launching BeyondCompare - beyondcompare-merge.sh: 

set_path_vars "$1" "$2" "$3" "$4"

echo "$beyondcompare" /lefttitle=Local /righttitle=Remote /centertitle=Base "$localwinpath" "$remotewinpath" "$basewinpath" "$mergedwinpath"
"$beyondcompare" /lefttitle=Local /righttitle=Remote /centertitle=Base "$localwinpath" "$remotewinpath" "$basewinpath" "$mergedwinpath"
#!/bin/sh
# Use BeyondCompare as difftool for git in cygwin.
# 	git config --global difftool.bc3.cmd "beyondcompare-diff.sh \"\$LOCAL\" \"\$REMOTE\""
#   git difftool -t bc3 branch1..branch2

# Reference: http://www.tldp.org/LDP/abs/abs-guide.pdf

library=githelperfunctions.sh

#[ -f $library ] && . $library
. $library

echo Launching BeyondCommpare - beyondcompare-diff.sh: 

set_path_vars "$1" "$2"

echo "$beyondcompare" $localwinpath $remotewinpath
"$beyondcompare" "$localwinpath" "$remotewinpath"