diff options
author | Fredrik Kuivinen <freku045@student.liu.se> | 2005-11-08 00:19:44 +0100 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-11-07 17:13:10 -0800 |
commit | d1745afa2f062764b075300bda06aac1402dfcf6 (patch) | |
tree | a09a7bcec1d086d584d56b1747165d1c6576ef6f | |
parent | 52963a7a3fad7f3da7b4ec49824d92338a2ab668 (diff) | |
download | git-d1745afa2f062764b075300bda06aac1402dfcf6.tar.gz git-d1745afa2f062764b075300bda06aac1402dfcf6.tar.xz |
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>
-rwxr-xr-x | git-merge-recursive.py | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/git-merge-recursive.py b/git-merge-recursive.py index 626d85493..9983cd9de 100755 --- a/git-merge-recursive.py +++ b/git-merge-recursive.py @@ -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): @@ -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 @@ -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)) @@ -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: @@ -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: |