git mergetool: create temporary files in different sub-folders but with same filenames
- From
- Andre Bossert <anb0s@anbos.de>
- Date
- Jun 2, 2015, 18:48 UTC
- Message-ID
- <556DFA79.9020904@anbos.de>
Hello,
we are moving from ClearCase to Git (MSYS 1.9.5 at Win7x64) and trying to configure one special merge tool "DiffMerge" for IBM Rhapsody files. So we've added our merge tool (script) to gitconfig. The merge script calls the DiffMerge for some file-extensions (sbs, rpy etc.). It works in general, but the different file names passed to DiffMerge (e.g. <base-name>.LOCAL.xyz.<ext>, <base-name>.REMOTE.xyz.<ext>) are shown as conflict --> user have to solve it manually.
I've found the new feature (mergetool.writeToTemp = true) in "https://github.com/git/git/blob/master/git-mergetool.sh <https://github.com/git/git/blob/master/git-mergetool.sh>" that creates one temporary folder for all four files with different names. I've added some handling for sub-folders.
Instead of:
BACKUP="./$MERGED.BACKUP.$ext"
LOCAL="./$MERGED.LOCAL.$ext"
REMOTE="./$MERGED.REMOTE.$ext"
BASE="./$MERGED.BASE.$ext"i've added this definitions (and some other handling for creation etc.)
...
TEMP_BACKUP="$MERGETOOL_TMPDIR/BACKUP"
TEMP_LOCAL="$MERGETOOL_TMPDIR/LOCAL"
TEMP_REMOTE="$MERGETOOL_TMPDIR/REMOTE"
TEMP_BASE="$MERGETOOL_TMPDIR/BASE" BACKUP="$TEMP_BACKUP/${BASE}$ext"
LOCAL="$TEMP_LOCAL/${BASE}$ext"
REMOTE="$TEMP_REMOTE/${BASE}$ext"
BASE="$TEMP_BASE/${BASE}$ext"
...I've tested the script with normal merge-workflows and it worked. May i request a review and integration in Git?
-- Regards Andre (anb0s) eMail: anb0s@anbos.de <mailto:anb0s@anbos.de>