X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=git-merge-recursive.py;h=e599b11cc57ecd0219d39fbfc8141fa5455755bf;hb=58cce8a85da745e20c9527c569a0e0935ff3ab30;hp=d7d36aa7d11299d3a1e91dce1bc9572ac56a7c08;hpb=ad4f4daae80cb00000aca76e1528add6daf8f033;p=git.git diff --git a/git-merge-recursive.py b/git-merge-recursive.py index d7d36aa7..e599b11c 100755 --- a/git-merge-recursive.py +++ b/git-merge-recursive.py @@ -245,7 +245,7 @@ def updateFileExt(sha, mode, path, updateCache, updateWd): try: createDir = not stat.S_ISDIR(os.lstat(p).st_mode) - except: + except OSError: createDir = True if createDir: @@ -293,6 +293,10 @@ def removeFile(clean, path): except OSError, e: if e.errno != errno.ENOENT and e.errno != errno.EISDIR: raise + try: + os.removedirs(os.path.dirname(path)) + except OSError: + pass def uniquePath(path, branch): def fileExists(path): @@ -824,8 +828,6 @@ def processEntry(entry, branch1Name, branch2Name): if cacheOnly: updateFile(False, sha, mode, path) else: - updateFileExt(aSha, aMode, path, - updateCache=True, updateWd=False) updateFileExt(sha, mode, path, updateCache=False, updateWd=True) else: die("ERROR: Fatal merge failure, shouldn't happen.")