Re: What's new in git.git master branch
- From
Fredrik Kuivinen <freku045@student.liu.se>
- Date
- Dec 2, 2005, 08:46 UTC
- Message-ID
- <20051202084654.GB4824@c165.ib.student.liu.se>
- In-Reply-To
- <7v7jao9hln.fsf@assigned-by-dhcp.cox.net>
On Thu, Dec 01, 2005 at 09:46:12PM -0800, Junio C Hamano wrote:
Show 15 quoted lines
> Junio C Hamano <junkio@cox.net> writes: > > > 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.
With the patch tt works properly again. Thanks :)
Show 11 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).
Yes, the code is correct. You can apply the following patch to make it a bit simpler.
- Fredrik
-- merge-recursive: Clean up index updates
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
---
git-merge-recursive.py | 5 +---- 1 files changed, 1 insertions(+), 4 deletions(-)
66b1a0157f25629b35ecf300450618a230741218
diff --git a/git-merge-recursive.py b/git-merge-recursive.py index b7fb096..4f061da 100755 --- a/git-merge-recursive.py +++ b/git-merge-recursive.py @@ -825,10 +825,7 @@ def processEntry(entry, branch1Name, bra cleanMerge = False output('CONFLICT (content): Merge conflict in', path) - if cacheOnly: - updateFile(False, sha, mode, path) - else: - updateFileExt(sha, mode, path, updateCache=False, updateWd=True) + updateFile(False, sha, mode, path) else: die("ERROR: Fatal merge failure, shouldn't happen.")
-- 0.99.9.GIT