From: Linus Torvalds <torvalds@linux-foundation.org>
To: Jakub Narebski <jnareb@gmail.com>
Cc: Martin Langhoff <martin.langhoff@gmail.com>,
Steven Grimm <koreth@midwinter.com>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
git@vger.kernel.org
Subject: Re: Rename handling
Date: Wed, 21 Mar 2007 20:53:51 -0700 (PDT) [thread overview]
Message-ID: <Pine.LNX.4.64.0703212047310.6730@woody.linux-foundation.org> (raw)
In-Reply-To: <200703220432.27071.jnareb@gmail.com>
On Thu, 22 Mar 2007, Jakub Narebski wrote:
>
> Second, I have thought that rename detection is done on final states: upstream,
> branch and ancestor, not on intermediate commits. I guess I thought wrong.
No, you didn't think wrong, with a few caveats:
- we *do* do intermediate commits occasionally (ie for the criss-cross
merge case and the "recursive" part of the merge strategy). But that's
strictly a "we had multiple potential merge bases" issue, not a "track
renames through every commit" kind of thing.
- you should also see the 3-way merge as the *first* strategy. If it
fails, you could do more involved stuff (ie the "blame" merge
strategy).
Personally, I think the three-way merge (aka "stupid") is absolutely the
right thing to do. SCM projects that always try to take intervening
commits into account (*cough*darcs*cough*) are just doing masturbation.
It's pointless. The history only matters as a "what was the common state"
thing, the intermediate mistakes you did in between are meaningless.
But my point is that if you *wanted* to, you could do something fancy. I
think it would likely be stupid and wrong, and just cause subtle mismerges
rather than actually *help*, but that's just my opinion. Git itself
doesn't *force* you to just take the end-points into account, although my
opinion that they are the only things that matter certainly may have
colored how we do things right now ;)
Linus
next prev parent reply other threads:[~2007-03-22 3:54 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-19 16:10 Rename handling John Goerzen
2007-03-19 18:14 ` Steven Grimm
2007-03-19 18:35 ` Nicolas Pitre
2007-03-19 18:48 ` Linus Torvalds
2007-03-19 19:57 ` Steven Grimm
2007-03-19 20:19 ` Martin Langhoff
2007-03-20 8:33 ` Junio C Hamano
2007-03-19 20:22 ` Linus Torvalds
2007-03-19 20:02 ` Robin Rosenberg
2007-03-19 20:34 ` Linus Torvalds
2007-03-19 19:36 ` Steven Grimm
2007-03-19 19:45 ` Steven Grimm
2007-03-19 20:07 ` Linus Torvalds
2007-03-19 20:17 ` Nicolas Pitre
2007-03-19 20:44 ` Daniel Barkalow
2007-03-19 19:03 ` Andy Parkins
2007-03-19 19:21 ` Steven Grimm
2007-03-21 0:06 ` Jakub Narebski
2007-03-21 0:25 ` Johannes Schindelin
2007-03-21 22:28 ` Steven Grimm
2007-03-21 23:01 ` Johannes Schindelin
2007-03-21 23:10 ` Linus Torvalds
2007-03-22 0:10 ` Martin Langhoff
2007-03-22 2:01 ` Jakub Narebski
2007-03-22 2:39 ` Martin Langhoff
2007-03-22 3:32 ` Jakub Narebski
2007-03-22 3:53 ` Linus Torvalds [this message]
2007-03-19 19:15 ` Daniel Barkalow
2007-03-19 19:49 ` John Goerzen
2007-03-19 22:27 ` Junio C Hamano
2007-03-21 0:21 ` Jakub Narebski
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=Pine.LNX.4.64.0703212047310.6730@woody.linux-foundation.org \
--to=torvalds@linux-foundation.org \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=jnareb@gmail.com \
--cc=koreth@midwinter.com \
--cc=martin.langhoff@gmail.com \
/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;
as well as URLs for NNTP newsgroup(s).