From: Jon Seymour <jon.seymour@gmail.com>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Git Mailing List <git@vger.kernel.org>
Subject: Re: git-rev-list: proper lazy reachability
Date: Tue, 31 May 2005 17:58:45 +1000 [thread overview]
Message-ID: <2cfc4032050531005820979ca7@mail.gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0505301847120.1876@ppc970.osdl.org>
On 5/31/05, Linus Torvalds <torvalds@osdl.org> wrote:
>
> Somebody should probably take a look at my simplistic algorithm, since it
> can probably be improved upon and/or fixed for corner-cases.
Seems reasonable, though I think that in a graph like this:
A
/ | \
B C D
| / /
E
| \
F G
and searching for git-rev-list A ^B
it would actually be better to stop at E (printing A,B,C,D,E), rather
than B because the contemporaneously parallel edits C and D and the
common base E are relevant to evaluating B since they got merged with
B into A from the common starting point E.
In the lingo of my epoch theory, this is searching to the next nearest
epoch boundary past B.
My merge-order patch to rev-list which incorporates epoch theory is
still on its way - it turned out that incrementally finding epoch
boundaries was not quite as simple as I thought it would be. I expect
I'll have a respectable looking patch available this weekend. The
patch I have now works quite well for smaller graphs but fails on
larger graphs because it relies on rational numbers with large
numerators and denominators and these end up overflowing even 64 bit
integers. I think I know how to fix it, but it will take me a few more
days yet.
jon.
--
homepage: http://www.zeta.org.au/~jon/
blog: http://orwelliantremors.blogspot.com/
next prev parent reply other threads:[~2005-05-31 7:56 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-31 1:58 git-rev-list: proper lazy reachability Linus Torvalds
2005-05-31 7:58 ` Jon Seymour [this message]
2005-05-31 14:35 ` Linus Torvalds
2005-05-31 15:13 ` Linus Torvalds
2005-06-01 0:14 ` Jon Seymour
2005-05-31 12:15 ` Paul Mackerras
2005-05-31 14:39 ` Linus Torvalds
2005-05-31 15:23 ` Linus Torvalds
2005-06-01 16:38 ` Matthias Urlichs
2005-06-04 15:01 ` Junio C Hamano
2005-06-04 15:09 ` Thomas Glanzmann
2005-06-04 15:42 ` Linus Torvalds
2005-06-04 15:51 ` Linus Torvalds
2005-06-04 19:30 ` Junio C Hamano
2005-06-04 19:46 ` Petr Baudis
2005-06-04 19:41 ` Junio C Hamano
-- strict thread matches above, loose matches on Subject: below --
2005-06-01 18:44 Marco Costalba
2005-06-01 19:02 Marco Costalba
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=2cfc4032050531005820979ca7@mail.gmail.com \
--to=jon.seymour@gmail.com \
--cc=git@vger.kernel.org \
--cc=jon@blackcubes.dyndns.org \
--cc=torvalds@osdl.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.