From: Roman Zippel <zippel@linux-m68k.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Tim Harper <timcharper@gmail.com>, git@vger.kernel.org
Subject: Re: Bizarre missing changes (git bug?)
Date: Tue, 29 Jul 2008 04:59:01 +0200 (CEST) [thread overview]
Message-ID: <Pine.LNX.4.64.0807281241180.6791@localhost.localdomain> (raw)
In-Reply-To: <alpine.LFD.1.10.0807272148030.3486@nehalem.linux-foundation.org>
Hi,
On Sun, 27 Jul 2008, Linus Torvalds wrote:
> You don't actually understand how git works, do you?
Probably not and to be honest I don't care, all I want is my history - the
correct one. All I know it's in there somehow and all I care is how to get
it out of there.
Right now you're giving me the choice between a crappy incomplete history
or a crappy history full of useless information. That's it? As long as
your challenge involves being compared to crappy history, I'm not
interested. If the solution should involve a switch "--correct-history"
or I have to wait for the result, I don't care, because it's the correct
history I want. As long as you're trying to sell me crappy history I'm not
buying it.
Can we please get past this and look at what is required to produce the
correct history?
Fact is based on the current git-log output it's simply impossible to
produce the correct history without reading the whole history first, since
the very last commit can still be relevant for an earlier merge to connect
it properly into the graph. This means we need some extra information
before even starting to scan through the commits. Luckily this information
can be cached once it has been generated and it also can be updated
incrementally. E.g. this information could be generated while generating
the pack, so you only had to scan the commits which haven't been packed
yet, but it's also possible to update it when merging/pulling new data.
It's also not much information that is needed, all that is needed is list
of commits per file (which are are usually only a few, mostly even none),
which git-log can use, so it knows that these are important while scanning
the tree.
Technically I don't see a really hard problem to implement this, the
problem for me is only that I have no idea where to start this within git
and how to integrate it. The other problem (over which I have absolutely
no control) is whether anyone actually wants to produce a correct history.
I hope there is someone, otherwise there would be no need for "git-log
--full-history" (which is also used by git-web), this e.g. produces a nice
example in kernel/printk.c, where git-web produces two commits (search for
tty_write_message), for which none of the front ends can tell me usefully
how it fits into the history (they either don't show it at all or it's
lost in "gitk --full-history").
bye, Roman
next prev parent reply other threads:[~2008-07-29 3:00 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 [this message]
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
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=Pine.LNX.4.64.0807281241180.6791@localhost.localdomain \
--to=zippel@linux-m68k.org \
--cc=git@vger.kernel.org \
--cc=timcharper@gmail.com \
--cc=torvalds@linux-foundation.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).