Add file renaming support
authorCatalin Marinas <catalin.marinas@gmail.com>
Wed, 8 Nov 2006 17:35:50 +0000 (17:35 +0000)
committerCatalin Marinas <catalin.marinas@gmail.com>
Thu, 9 Nov 2006 21:49:38 +0000 (21:49 +0000)
The merge method was changed from gitmergeonefile.merge() to the external
git-merge-recursive which handles renames properly. The 'mv' command was
added as well.

Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
stgit/git.py

index 2a6ae91..20cac61 100644 (file)
@@ -515,8 +515,12 @@ def merge(base, head1, head2):
     local tree
     """
     refresh_index()
-    if __run('git-read-tree -u -m --aggressive', [base, head1, head2]) != 0:
-        raise GitException, 'git-read-tree failed (local changes maybe?)'
+
+    try:
+        # use _output() to mask the verbose prints of the tool
+        _output('git-merge-recursive %s -- %s %s' % (base, head1, head2))
+    except GitException:
+        pass
 
     # check the index for unmerged entries
     files = {}