Git tools
#!/bin/sh
# Split Git CONFLICT files into LOCAL and REMOTE
# After that You can use your preffered diff tool to resolve conflict
sed '/<<<<<<</,/=======/d;/>>>>>>>/d' $1 > $1.REMOTE
sed '/<<<<<<</d;/=======/,/>>>>>>>/d' $1 > $1.LOCAL
splitdiff() { sed '/<<<<<<</,/=======/d;/>>>>>>>/d' $1 > $1.REMOTE; sed '/<<<<<<</d;/=======/,/>>>>>>>/d' $1 > $1.LOCAL; echo $1; }
automerge() { mv $1 $1.BASE;git checkout BASE $1; meld --auto-merge $1.LOCAL $1 $1.REMOTE; echo $1; }
closemerge() { git add $1; rm $1.BASE $1.LOCAL $1.REMOTE; echo $1; }
mergetool() { splitdiff $1 && automerge $1 && closemerge $1; }