Code

merge-recursive: cleanup setIndexStages
authorJunio C Hamano <junkio@cox.net>
Sun, 11 Dec 2005 09:55:52 +0000 (01:55 -0800)
committerJunio C Hamano <junkio@cox.net>
Sun, 11 Dec 2005 09:55:52 +0000 (01:55 -0800)
Fredrik points out there is a useful wrapper runProgram() used
everywhere that we can use to feed input into subprocess.  Use
it to catch errors from the subprocess; it is a good cleanup as
well.

Signed-off-by: Junio C Hamano <junkio@cox.net>
git-merge-recursive.py

index 767b13c927114d06986dfbab8b98b76340569deb..f1320a69581500f3c70f0eb556e195a7e47e8714 100755 (executable)
@@ -284,17 +284,11 @@ def setIndexStages(path,
                    oSHA1, oMode,
                    aSHA1, aMode,
                    bSHA1, bMode):
-    prog = ['git-update-index', '-z', '--index-info']
-    proc = subprocess.Popen(prog, stdin=subprocess.PIPE)
-    pipe = proc.stdin
-    # Clear stages first.
-    pipe.write("0 " + ("0" * 40) + "\t" + path + "\0")
-    # Set stages
-    pipe.write("%o %s %d\t%s\0" % (oMode, oSHA1, 1, path))
-    pipe.write("%o %s %d\t%s\0" % (aMode, aSHA1, 2, path))
-    pipe.write("%o %s %d\t%s\0" % (bMode, bSHA1, 3, path))
-    pipe.close()
-    proc.wait()
+    runProgram(['git-update-index', '-z', '--index-info'],
+               input="0 " + ("0" * 40) + "\t" + path + "\0" + \
+               "%o %s %d\t%s\0" % (oMode, oSHA1, 1, path) + \
+               "%o %s %d\t%s\0" % (aMode, aSHA1, 2, path) + \
+               "%o %s %d\t%s\0" % (bMode, bSHA1, 3, path))
 
 def removeFile(clean, path):
     updateCache = cacheOnly or clean
@@ -724,7 +718,6 @@ def processRenames(renamesA, renamesB, branchNameA, branchNameB):
                     cleanMerge = False
 
                     if not cacheOnly:
-                        # Stuff stage1/2/3
                         setIndexStages(ren1.dstName,
                                        oSHA1, oMode,
                                        aSHA1, aMode,