From: Junio C Hamano <junkio@cox.net>
To: Fredrik Kuivinen <freku045@student.liu.se>
Cc: git@vger.kernel.org
Subject: Re: What's new in git.git master branch
Date: Thu, 01 Dec 2005 01:38:47 -0800 [thread overview]
Message-ID: <7vmzjljgwo.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <20051201085433.GA7866@c165.ib.student.liu.se> (Fredrik Kuivinen's message of "Thu, 1 Dec 2005 09:54:33 +0100")
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. For this
particular one, I think updating merge-recursive is less work,
so for now I'd vote for that approach. However, as you might
already be aware, I am not convinced that the new behaviour is
better than the previous round (there is no question about the
implementation quality and the clean-up value the rewrite
brings), so we might want to also add the "show tree entry in
recursive cases too" option to ls-tree as well. What I am
saying is essentially, "why not do both?" ;-).
I was looking at the merge-recursive, and there is another topic
I wanted to discuss with you about. Conflicts in renaming
merges and index collapsing. The latest merge-one-file leaves
index entries uncollapsed when the file content changes cannot
be automerged, and I think we would want to match that in
merge-recursive. When there is no rename involved it can do the
same thing as merge-one-file does -- just leave the index
unmerged. Renaming case is different.
Currently, rename result is recorded by using "git-update-index
--cacheinfo" to populate the index. This method unfortunately
can only create a stage0 entry. We can go two ways. One way is
to support "register this mode/sha1 tuple at stageN for path" to
update-index. Another would be for merge-recursive to first
construct three trees with the final directory structure
(i.e. prepare three temporary trees with renames applied) and
run read-tree 3-way merge on these temporary trees. I suspect
the former is probably of lesser impact. Thoughts?
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).
next prev parent reply other threads:[~2005-12-01 9:38 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-30 22:57 What's new in git.git master branch Junio C Hamano
2005-12-01 8:54 ` Fredrik Kuivinen
2005-12-01 9:38 ` Junio C Hamano [this message]
2005-12-02 5:45 ` Junio C Hamano
2005-12-02 5:46 ` Junio C Hamano
2005-12-02 8:46 ` Fredrik Kuivinen
2005-12-02 8:36 ` Fredrik Kuivinen
2005-12-07 10:01 ` [PATCH 3/3] update-index: allow --index-info to add higher stages Junio C Hamano
2005-12-01 18:35 ` git-ls-tree: add "-t" option to always show the tree entries Linus Torvalds
2005-12-01 21:15 ` Junio C Hamano
2005-12-01 21:57 ` Linus Torvalds
2005-12-01 22:04 ` Junio C Hamano
2005-12-01 22:56 ` [PATCH] ls-tree: --name-only Junio C Hamano
2005-12-02 22:12 ` git-ls-tree: add "-t" option to always show the tree entries Junio C Hamano
2005-12-02 23:11 ` Linus Torvalds
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7vmzjljgwo.fsf@assigned-by-dhcp.cox.net \
--to=junkio@cox.net \
--cc=freku045@student.liu.se \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox