Skip to content

Commit

Permalink
merge-recursive: Only print relevant rename messages
Browse files Browse the repository at this point in the history
It isn't really interesting to know about the renames that have
already been committed to the branch you are working on. Furthermore,
the 'git-apply --stat' at the end of git-(merge|pull) will tell us
about any renames in the other branch.

With this commit only renames which require a file-level merge will
be printed.

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Fredrik Kuivinen authored and Junio C Hamano committed Nov 8, 2005
1 parent 52963a7 commit d1745af
Showing 1 changed file with 15 additions and 7 deletions.
22 changes: 15 additions & 7 deletions git-merge-recursive.py
Expand Up @@ -162,10 +162,13 @@ def mergeTrees(head, merge, common, branch1Name, branch2Name):
# Low level file merging, update and removal
# ------------------------------------------

MERGE_NONE = 0
MERGE_TRIVIAL = 1
MERGE_3WAY = 2
def mergeFile(oPath, oSha, oMode, aPath, aSha, aMode, bPath, bSha, bMode,
branch1Name, branch2Name):

merge = False
merge = MERGE_NONE
clean = True

if stat.S_IFMT(aMode) != stat.S_IFMT(bMode):
Expand All @@ -178,7 +181,7 @@ def mergeFile(oPath, oSha, oMode, aPath, aSha, aMode, bPath, bSha, bMode,
sha = bSha
else:
if aSha != oSha and bSha != oSha:
merge = True
merge = MERGE_TRIVIAL

if aMode == oMode:
mode = bMode
Expand Down Expand Up @@ -207,7 +210,8 @@ def mergeFile(oPath, oSha, oMode, aPath, aSha, aMode, bPath, bSha, bMode,
os.unlink(orig)
os.unlink(src1)
os.unlink(src2)


merge = MERGE_3WAY
clean = (code == 0)
else:
assert(stat.S_ISLNK(aMode) and stat.S_ISLNK(bMode))
Expand Down Expand Up @@ -577,14 +581,16 @@ def processRenames(renamesA, renamesB, branchNameA, branchNameB):
updateFile(False, ren1.dstSha, ren1.dstMode, dstName1)
updateFile(False, ren2.dstSha, ren2.dstMode, dstName2)
else:
print 'Renaming', fmtRename(path, ren1.dstName)
[resSha, resMode, clean, merge] = \
mergeFile(ren1.srcName, ren1.srcSha, ren1.srcMode,
ren1.dstName, ren1.dstSha, ren1.dstMode,
ren2.dstName, ren2.dstSha, ren2.dstMode,
branchName1, branchName2)

if merge:
if merge or not clean:
print 'Renaming', fmtRename(path, ren1.dstName)

if merge == MERGE_3WAY:
print 'Auto-merging', ren1.dstName

if not clean:
Expand Down Expand Up @@ -653,14 +659,16 @@ def processRenames(renamesA, renamesB, branchNameA, branchNameB):
tryMerge = True

if tryMerge:
print 'Renaming', fmtRename(ren1.srcName, ren1.dstName)
[resSha, resMode, clean, merge] = \
mergeFile(ren1.srcName, ren1.srcSha, ren1.srcMode,
ren1.dstName, ren1.dstSha, ren1.dstMode,
ren1.srcName, srcShaOtherBranch, srcModeOtherBranch,
branchName1, branchName2)

if merge:
if merge or not clean:
print 'Renaming', fmtRename(ren1.srcName, ren1.dstName)

if merge == MERGE_3WAY:
print 'Auto-merging', ren1.dstName

if not clean:
Expand Down

0 comments on commit d1745af

Please sign in to comment.