Re: What's new in git.git master branch
- From
Junio C Hamano <junkio@cox.net>
- Date
- Dec 2, 2005, 05:46 UTC
- Message-ID
- <7v7jao9hln.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <7vmzjljgwo.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano <junkio@cox.net> writes:
Show 10 quoted lines
> Fredrik Kuivinen <freku045@student.liu.se> writes: > >> It turns out that this change breaks the directory/file conflict >> handling in git-merge-recursive. >> >> git-ls-tree -r -z <tree SHA1> >> >> Should we do it that way or should ls-tree be changed? > > Ouch. Sorry, I should have been more careful.
So we updated ls-tree to take -t flag which shows tree entries under -r flag. I'd appreciate if you test the attached patch.
Show 6 quoted lines
> Also I think I broke the case where base trees need to be merged > in 58cce8a8 commit (I changed processEntry not to collapse the > index entry when file content changes cannot be automerged, but > that change has to be done only for the final merge, and merges > between base trees must collapse to be able to write the index > file out as a tree).
I think that the above worry was unfounded, because the updateFileExt call I removed to prevent it from collapsing the unmerged entries was in effect only in !cacheOnly case (i.e. callDepth == 0).
-- >8 -- [PATCH] merge-recursive: adjust git-ls-tree use for the latest.
You need to pass -t flag if you want to see tree objects in "git-ls-tree -r" output these days. This change broke the tree structure reading code in git-merge-recursive used to detect D/F conflicts.
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
git-merge-recursive.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
a6b51f11ab7f7f838a9b17f81059eebfc36e4c84
diff --git a/git-merge-recursive.py b/git-merge-recursive.py index e599b11..b7fb096 100755 --- a/git-merge-recursive.py +++ b/git-merge-recursive.py @@ -98,7 +98,7 @@ getFilesRE = re.compile(r'^([0-7]+) (\S+ def getFilesAndDirs(tree): files = Set() dirs = Set() - out = runProgram(['git-ls-tree', '-r', '-z', tree]) + out = runProgram(['git-ls-tree', '-r', '-z', '-t', tree]) for l in out.split('\0'): m = getFilesRE.match(l) if m:
-- 0.99.9.GIT