git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mergetool: clean up temp files when aborted
@ 2013-01-24 18:23 Phil Hord
  2013-01-24 19:54 ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Phil Hord @ 2013-01-24 18:23 UTC (permalink / raw)
  To: git; +Cc: phil.hord, Theodore Ts'o, Junio C Hamano, Phil Hord

When handling a symlink conflict or a deleted-file conflict, mergetool
stops to ask the user what to do. If the user chooses any option besides
"(a)bort", then the temporary files which mergetool created in
preparation for handling the conflict are removed.  But these temporary
files are not removed when the user chooses to abort the operation.

    $ git cherry-pick other/branch
    error: could not apply 4e43581... Fix foo.c

    $ git status --short
    DU foo.c

    $ git mergetool
    Merging:
    foo.c

    Deleted merge conflict for 'foo.c':
      {local}: deleted
      {remote}: modified file
    Use (m)odified or (d)eleted file, or (a)bort? a
    Continue merging other unresolved paths (y/n) ? n

    $ git status --short
    DU foo.c
    ?? foo.c.BACKUP.16929.c
    ?? foo.c.BASE.16929.c
    ?? foo.c.LOCAL.16929.c
    ?? foo.c.REMOTE.16929.c

These temporary files should not remain after the mergetool operation is
completed.

Remove the temporary files by calling the cleanup_temp_files when the
user chooses to abort the mergetool operation.

It looks like 'cleanup_temp_files' without the --save-backups option is
the correct thing to do, and this is how this commit is implemented. But
some other paths do use --save-backups resulting in a foo.c.orig file
being left behind.  That seems to be a different bug, though.

Signed-off-by: Phil Hord <hordp@cisco.com>
---
 git-mergetool.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/git-mergetool.sh b/git-mergetool.sh
index c50e18a..bb93b70 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
@@ -90,6 +90,7 @@ resolve_symlink_merge () {
 			return 0
 			;;
 		[aA]*)
+			cleanup_temp_files
 			return 1
 			;;
 		esac
@@ -118,6 +119,7 @@ resolve_deleted_merge () {
 			return 0
 			;;
 		[aA]*)
+			cleanup_temp_files
 			return 1
 			;;
 		esac
-- 
1.8.1.1.ga649ac9.dirty

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-01-24 21:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-24 18:23 [PATCH] mergetool: clean up temp files when aborted Phil Hord
2013-01-24 19:54 ` Junio C Hamano
2013-01-24 21:16   ` Phil Hord
2013-01-24 21:41     ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).