From: A Large Angry SCM <gitzilla@gmail.com>
To: Junio C Hamano <junkio@cox.net>, git@vger.kernel.org
Cc: torvalds@osdl.org
Subject: Re: [PATCH] Additional merge-base tests
Date: Mon, 03 Jul 2006 23:41:50 -0700 [thread overview]
Message-ID: <44AA0DAE.1060308@gmail.com> (raw)
In-Reply-To: <7v3bdhoraa.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
> A Large Angry SCM <gitzilla@gmail.com> writes:
>
>> This demonstrates a problem with git-merge-base.
>>
>> +# Setup for second test set
>> +#
>> +# PL PR
>> +# / \/ \
>> +# L2 C2 R2
>> +# | | |
>> +# L1 C1 R1
>> +# | | |
>> +# L0 C0 R0
>> +# \ | /
>> +# S
>
> Cute.
>
> This is a good demonstration that merge-base may not give you
> minimal set for pathological cases. If you want to be through
> you could traverse everything to make sure we do not say 'S' is
> relevant, but that is quite expensive, so I think there will
> always be artifacts of horizon effect like this no matter how
> you try to catch it (didn't I keep saying that already?).
Not _that_ pathological in practice, given that you can't really depend
on the timestamps in a distributed SCM.
The problem is in mark_reachable_commits(); it is either superfluous or
it needs to parse_commit() those commits that haven't been parsed yet
that it needs to traverse.
> However, I do not think it is really a "problem". At least what
> "merge-base --all" did not miss any, that should be OK.
The degree of the problem is, admittedly, situational.
> I think the practical way to proceed is to say that the test
> condition should really check that we do not _omit_ C2 in the
> merge-base --all output.
I do not believe that the (current) code will miss any bases but it can
certainly return bases that are reachable from other bases.
next prev parent reply other threads:[~2006-07-04 6:42 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-04 3:55 [PATCH] Additional merge-base tests A Large Angry SCM
2006-07-04 5:47 ` Junio C Hamano
2006-07-04 6:41 ` A Large Angry SCM [this message]
2006-07-04 7:17 ` Junio C Hamano
2006-07-04 7:45 ` Junio C Hamano
2006-07-04 8:23 ` Johannes Schindelin
2006-07-04 10:38 ` Junio C Hamano
2006-07-04 11:16 ` Jakub Narebski
2006-07-04 11:35 ` Johannes Schindelin
2006-07-04 11:40 ` Johannes Schindelin
2006-07-04 20:18 ` A Large Angry SCM
2006-07-04 21:15 ` Junio C Hamano
2006-07-04 22:25 ` Johannes Schindelin
2006-07-04 22:42 ` Junio C Hamano
2006-07-04 23:07 ` A Large Angry SCM
2006-07-04 23:14 ` Jakub Narebski
2006-07-04 23:39 ` Junio C Hamano
2006-07-05 0:26 ` A Large Angry SCM
2006-07-05 0:24 ` Junio C Hamano
2006-07-05 7:56 ` Johannes Schindelin
2006-07-05 16:15 ` A Large Angry SCM
2006-07-05 17:04 ` Johannes Schindelin
2006-07-05 8:39 ` Josef Weidendorfer
2006-07-05 14:28 ` A Large Angry SCM
2006-07-04 20:08 ` A Large Angry SCM
2006-07-05 0:59 ` Junio C Hamano
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=44AA0DAE.1060308@gmail.com \
--to=gitzilla@gmail.com \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--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 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).