Skip to content

Commit d1745af

Browse files
Fredrik KuivinenJunio C Hamano
authored andcommitted
merge-recursive: Only print relevant rename messages
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>
1 parent 52963a7 commit d1745af

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

git-merge-recursive.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -162,10 +162,13 @@ def mergeTrees(head, merge, common, branch1Name, branch2Name):
162162
# Low level file merging, update and removal
163163
# ------------------------------------------
164164

165+
MERGE_NONE = 0
166+
MERGE_TRIVIAL = 1
167+
MERGE_3WAY = 2
165168
def mergeFile(oPath, oSha, oMode, aPath, aSha, aMode, bPath, bSha, bMode,
166169
branch1Name, branch2Name):
167170

168-
merge = False
171+
merge = MERGE_NONE
169172
clean = True
170173

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

183186
if aMode == oMode:
184187
mode = bMode
@@ -207,7 +210,8 @@ def mergeFile(oPath, oSha, oMode, aPath, aSha, aMode, bPath, bSha, bMode,
207210
os.unlink(orig)
208211
os.unlink(src1)
209212
os.unlink(src2)
210-
213+
214+
merge = MERGE_3WAY
211215
clean = (code == 0)
212216
else:
213217
assert(stat.S_ISLNK(aMode) and stat.S_ISLNK(bMode))
@@ -577,14 +581,16 @@ def processRenames(renamesA, renamesB, branchNameA, branchNameB):
577581
updateFile(False, ren1.dstSha, ren1.dstMode, dstName1)
578582
updateFile(False, ren2.dstSha, ren2.dstMode, dstName2)
579583
else:
580-
print 'Renaming', fmtRename(path, ren1.dstName)
581584
[resSha, resMode, clean, merge] = \
582585
mergeFile(ren1.srcName, ren1.srcSha, ren1.srcMode,
583586
ren1.dstName, ren1.dstSha, ren1.dstMode,
584587
ren2.dstName, ren2.dstSha, ren2.dstMode,
585588
branchName1, branchName2)
586589

587-
if merge:
590+
if merge or not clean:
591+
print 'Renaming', fmtRename(path, ren1.dstName)
592+
593+
if merge == MERGE_3WAY:
588594
print 'Auto-merging', ren1.dstName
589595

590596
if not clean:
@@ -653,14 +659,16 @@ def processRenames(renamesA, renamesB, branchNameA, branchNameB):
653659
tryMerge = True
654660

655661
if tryMerge:
656-
print 'Renaming', fmtRename(ren1.srcName, ren1.dstName)
657662
[resSha, resMode, clean, merge] = \
658663
mergeFile(ren1.srcName, ren1.srcSha, ren1.srcMode,
659664
ren1.dstName, ren1.dstSha, ren1.dstMode,
660665
ren1.srcName, srcShaOtherBranch, srcModeOtherBranch,
661666
branchName1, branchName2)
662667

663-
if merge:
668+
if merge or not clean:
669+
print 'Renaming', fmtRename(ren1.srcName, ren1.dstName)
670+
671+
if merge == MERGE_3WAY:
664672
print 'Auto-merging', ren1.dstName
665673

666674
if not clean:

0 commit comments

Comments
 (0)