Browse Source

merge-recursive: cleanup setIndexStages

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>
maint
Junio C Hamano 19 years ago
parent
commit
157dc07368
  1. 17
      git-merge-recursive.py

17
git-merge-recursive.py

@ -284,17 +284,11 @@ def setIndexStages(path, @@ -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): @@ -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,

Loading…
Cancel
Save