From: Linus Torvalds <torvalds@linux-foundation.org>
To: Roman Zippel <zippel@linux-m68k.org>
Cc: Jeff King <peff@peff.net>, Tim Harper <timcharper@gmail.com>,
git@vger.kernel.org
Subject: Re: Bizarre missing changes (git bug?)
Date: Tue, 29 Jul 2008 19:05:08 -0700 (PDT) [thread overview]
Message-ID: <alpine.LFD.1.10.0807291851120.3334@nehalem.linux-foundation.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0807300315280.6791@localhost.localdomain>
On Wed, 30 Jul 2008, Roman Zippel wrote:
> >
> > The "gitk file" history is the simplest one BY FAR, because it has very
> > aggressively simplified history to the point where it tried to find the
> > _simplest_ history that explains the current contents of 'file'[*]
>
> It's "aggressively simplified" by not even bothering to look for more.
Yes and no.
It's aggressively simplified because that's the right output with the
minimal unnecessary irrelevant information. It explains how the file came
to a particular state, with the simplest possible self-consistent history.
(Again, the caveat about "simplest possible" always beign a local
minimization, not a global one).
The fact that it also obviously involved less work (so git can do it
faster, and with fewer disk and memory accesses) is a huge bonus, of
course.
Are you complaining about the fact that I'm smart, and I get the right
result I want with less work and with a simpler algorithm?
What's your point?
> "simplified" implies there is something more complex beforehand, but all
> it does is simple scan through the history as fast possible without
> bothering looking left or right.
You're just being stupid.
It's not that it's not "bothering" looking left or right. It very much
*does* bother to look left or right. But once it finds that one or the
other explains the situation entirely, it then says "screw left, I already
know that rigth gives me the information I want".
In other words, it's doing the _smart_ thing.
I don't understand why you complain about intelligence.
It's *not* just looking at one single history. Look at
gitk kernel/sched.c
and notice that the simplified history is not linear. It tries to make it
AS LINEAR AS POSSIBLE, BUT NO MORE.
"Make everything as simple as possible, but not simpler."
- Albert Einstein
You seem to complain about the fact that it's doing that. That's stupid of
you.
> "simplified" implies to me it's something intentional, but this is more of
> an accidental optimization which happens to work in most situations and in
> the special cases it just picks a random change and hopes for the best.
You're just crazy. There is nothing accidental there what-so-ever.
> "git-log --full-history file" at least produces the full change history,
> but it has an performance impact and it doesn't produce a complete graph
> usable for graphical front ends.
Umm. You have to add "--parents" if you want a full graph. Without that,
you can never re-generate the graph anyway.
And when you do that, it _does_ give all the commits needed to complete
the picture.
In other words, git (once again) is actually smarter than you, and does
the right thing, and (once again) you complain about something that you
just don't understand.
> I gave more general examples. Tracking upstream source can produce this
> problem frequently. Another example are stable/unstable branches where the
> stable branch is occasionally merged into the unstable branch can produce
> this problem.
You call it a "problem", but you don't actually give any reason for
calling it that. IT IS NOT A PROBLEM. It's very much by design, and it's
because what you want.
Use --full-history if you want the full history.
> This is your _subjective_ interpretion of this problem, because it's not a
> problem for you, nobody else can possibly have this problem (or they just
> crazy).
No, Roman. You're not crazy because you have some issue that I cannot
understand. You're crazy because you make the same mistake over and over,
and don't listen when people tell you what the mistake was.
"Insanity is doing the same thing over and over again and
expecting different results."
- Various
Please. People have told you where you go wrong. Many times. So why do you
keep repeating it?
Take the time to slow down, listen, and realize that you're on the wrong
track, and that others really _have_ spent time and thought on this.
Linus
next prev parent reply other threads:[~2008-07-30 2:10 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-21 20:26 Bizarre missing changes (git bug?) Tim Harper
2008-07-21 20:37 ` Linus Torvalds
2008-07-21 22:53 ` Tim Harper
2008-07-21 22:55 ` Tim Harper
[not found] ` <8C23FB54-A28E-4294-ABEA-A5766200768B@gmail.com>
2008-07-21 22:57 ` Linus Torvalds
2008-07-26 3:12 ` Roman Zippel
2008-07-26 19:58 ` Linus Torvalds
2008-07-27 17:50 ` Roman Zippel
2008-07-27 18:47 ` Linus Torvalds
2008-07-27 23:14 ` Roman Zippel
2008-07-27 23:18 ` Linus Torvalds
2008-07-28 0:00 ` Roman Zippel
2008-07-28 5:00 ` Linus Torvalds
2008-07-28 5:30 ` Linus Torvalds
2008-07-29 2:59 ` Roman Zippel
2008-07-29 3:15 ` Martin Langhoff
2008-07-30 0:16 ` Roman Zippel
2008-07-30 0:25 ` Martin Langhoff
2008-07-30 0:32 ` Linus Torvalds
2008-07-30 0:48 ` Linus Torvalds
2008-07-30 23:56 ` Junio C Hamano
2008-07-31 0:15 ` Junio C Hamano
2008-07-31 0:30 ` Linus Torvalds
2008-07-31 8:17 ` [PATCH v2] revision traversal: show full history with merge simplification Junio C Hamano
2008-07-31 8:18 ` Junio C Hamano
2008-07-31 22:30 ` Linus Torvalds
2008-07-31 22:09 ` [PATCH v3-wip] " Junio C Hamano
2008-07-31 22:26 ` Linus Torvalds
2008-07-31 22:36 ` Junio C Hamano
2008-08-01 3:00 ` Junio C Hamano
2008-08-01 3:48 ` Linus Torvalds
2008-08-01 7:50 ` Junio C Hamano
2008-07-30 8:36 ` Bizarre missing changes (git bug?) Jakub Narebski
2008-07-29 3:29 ` Linus Torvalds
2008-07-29 3:33 ` Linus Torvalds
2008-07-29 11:39 ` Roman Zippel
2008-07-29 12:00 ` David Kastrup
2008-07-29 15:50 ` Linus Torvalds
2008-07-30 1:14 ` Roman Zippel
2008-07-30 1:32 ` Kevin Ballard
2008-07-30 1:49 ` Linus Torvalds
2008-07-29 5:31 ` Jeff King
2008-07-29 12:32 ` Roman Zippel
2008-07-29 12:48 ` Olivier Galibert
2008-07-29 12:52 ` Jeff King
2008-07-29 17:25 ` Linus Torvalds
2008-07-30 1:50 ` Roman Zippel
2008-07-30 2:05 ` Linus Torvalds [this message]
2008-07-30 4:26 ` Jeff King
2008-07-30 4:52 ` Linus Torvalds
2008-07-30 2:48 ` Roman Zippel
2008-07-30 3:20 ` Kevin Ballard
2008-07-30 3:21 ` Linus Torvalds
2008-07-30 3:35 ` Linus Torvalds
2008-07-30 4:23 ` Jeff King
2008-07-27 23:25 ` Martin Langhoff
2008-07-28 1:29 ` Roman Zippel
2008-07-21 20:42 ` Alex Riesen
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=alpine.LFD.1.10.0807291851120.3334@nehalem.linux-foundation.org \
--to=torvalds@linux-foundation.org \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
--cc=timcharper@gmail.com \
--cc=zippel@linux-m68k.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;
as well as URLs for NNTP newsgroup(s).