Print progress message to stderr, not stdout
[stgit] / stgit / git.py
index 2a6ae91..0e83ffc 100644 (file)
@@ -186,8 +186,9 @@ def __tree_status(files = None, tree_id = 'HEAD', unknown = False,
     """Returns a list of pairs - [status, filename]
     """
     if verbose:
-        print 'Checking for changes in the working directory...',
-        sys.stdout.flush()
+        print >> sys.stderr, \
+              'Checking for changes in the working directory...',
+        sys.stderr.flush()
 
     refresh_index()
 
@@ -226,7 +227,7 @@ def __tree_status(files = None, tree_id = 'HEAD', unknown = False,
             cache_files.append(fs)
 
     if verbose:
-        print 'done'
+        print >> sys.stderr, 'done'
 
     return cache_files
 
@@ -515,8 +516,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 = {}