[PATCH v2] Allow the user to change the temporary file name for mergetool
Using the original filename suffix for the temporary input files to the merge tool confuses IDEs like Eclipse. This patch introduces a configurtion option, mergetool.tmpsuffix, which get appended to the temporary file name. That way the user can choose to use a suffix like .tmp, which does not cause confusion. Signed-off-by: Robin Rosenberg robin.rosenb...@dewire.com --- Documentation/git-mergetool.txt | 7 +++ git-mergetool.sh| 10 ++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt index e846c2e..80a0526 100644 --- a/Documentation/git-mergetool.txt +++ b/Documentation/git-mergetool.txt @@ -89,6 +89,13 @@ Setting the `mergetool.keepBackup` configuration variable to `false` causes `git mergetool` to automatically remove the backup as files are successfully merged. +`git mergetool` may also create other temporary files for the +different versions involved in the merge. By default these files have +the same filename suffix as the file being merged. This may confuse +other tools in use during a long merge operation. The user can set +`mergetool.tmpsuffix` to be used as an extra suffix, which will be +appened to the temporary filename to lessen that problem. + GIT --- Part of the linkgit:git[1] suite diff --git a/git-mergetool.sh b/git-mergetool.sh index 9a046b7..d7cc76c 100755 --- a/git-mergetool.sh +++ b/git-mergetool.sh @@ -214,6 +214,8 @@ checkout_staged_file () { } merge_file () { + tmpsuffix=$(git config mergetool.tmpsuffix || true) + MERGED=$1 f=$(git ls-files -u -- $MERGED) @@ -229,10 +231,10 @@ merge_file () { fi ext=$$$(expr $MERGED : '.*\(\.[^/]*\)$') - BACKUP=./$MERGED.BACKUP.$ext - LOCAL=./$MERGED.LOCAL.$ext - REMOTE=./$MERGED.REMOTE.$ext - BASE=./$MERGED.BASE.$ext + BACKUP=./$MERGED.BACKUP.$ext$tmpsuffix + LOCAL=./$MERGED.LOCAL.$ext$tmpsuffix + REMOTE=./$MERGED.REMOTE.$ext$tmpsuffix + BASE=./$MERGED.BASE.$ext$tmpsuffix base_mode=$(git ls-files -u -- $MERGED | awk '{if ($3==1) print $1;}') local_mode=$(git ls-files -u -- $MERGED | awk '{if ($3==2) print $1;}') -- 2.1.0.rc2.6.g39c33ff.dirty -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2] Allow the user to change the temporary file name for mergetool
Robin Rosenberg robin.rosenb...@dewire.com writes: Using the original filename suffix for the temporary input files to the merge tool confuses IDEs like Eclipse. This patch introduces a configurtion option, mergetool.tmpsuffix, which get appended to the temporary file name. That way the user can choose to use a suffix like .tmp, which does not cause confusion. Signed-off-by: Robin Rosenberg robin.rosenb...@dewire.com --- Documentation/git-mergetool.txt | 7 +++ git-mergetool.sh| 10 ++ 2 files changed, 13 insertions(+), 4 deletions(-) No updates to Documentation/config.txt to describe the new variable? diff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt index e846c2e..80a0526 100644 --- a/Documentation/git-mergetool.txt +++ b/Documentation/git-mergetool.txt @@ -89,6 +89,13 @@ Setting the `mergetool.keepBackup` configuration variable to `false` causes `git mergetool` to automatically remove the backup as files are successfully merged. +`git mergetool` may also create other temporary files for the +different versions involved in the merge. By default these files have +the same filename suffix as the file being merged. This may confuse +other tools in use during a long merge operation. The user can set +`mergetool.tmpsuffix` to be used as an extra suffix, which will be +appened to the temporary filename to lessen that problem. + GIT --- Part of the linkgit:git[1] suite diff --git a/git-mergetool.sh b/git-mergetool.sh index 9a046b7..d7cc76c 100755 --- a/git-mergetool.sh +++ b/git-mergetool.sh @@ -214,6 +214,8 @@ checkout_staged_file () { } merge_file () { + tmpsuffix=$(git config mergetool.tmpsuffix || true) + MERGED=$1 f=$(git ls-files -u -- $MERGED) @@ -229,10 +231,10 @@ merge_file () { fi ext=$$$(expr $MERGED : '.*\(\.[^/]*\)$') - BACKUP=./$MERGED.BACKUP.$ext - LOCAL=./$MERGED.LOCAL.$ext - REMOTE=./$MERGED.REMOTE.$ext - BASE=./$MERGED.BASE.$ext + BACKUP=./$MERGED.BACKUP.$ext$tmpsuffix + LOCAL=./$MERGED.LOCAL.$ext$tmpsuffix + REMOTE=./$MERGED.REMOTE.$ext$tmpsuffix + BASE=./$MERGED.BASE.$ext$tmpsuffix base_mode=$(git ls-files -u -- $MERGED | awk '{if ($3==1) print $1;}') local_mode=$(git ls-files -u -- $MERGED | awk '{if ($3==2) print $1;}') -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html