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 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.