On Mon, Sep 2, 2013 at 1:25 AM, Johannes Sixt <j.s...@viscovery.net> wrote:
> Am 8/31/2013 21:27, schrieb Felipe Contreras:
>> On Fri, Aug 30, 2013 at 2:56 AM, Johannes Sixt <j.s...@viscovery.net> wrote:
>>> Am 8/30/2013 8:32, schrieb Junio C Hamano:
>>>> If you have a history where
>>>>
>>>>  - branches "master" and "maint" point at commit A;
>>>>  - branch "next" points at commit B that is a descendant of A; and
>>>>  - there are tags X and Y pointing at commits that are ahead of B
>>>>    or behind A
>>>>
>>>> i.e.
>>>>
>>>>       ----X----A----B----Y
>>>>
>>>> what are the desired semantics for these?
>>>
>>> I think the simplest were that --except trumps everything and means
>>> "whatever else I say, do as if I did not mention the following".
>>
>> Actually, my patch is almost there, I attach the necessary changed
>> below to make everything work. I've added debug prints to show what
>> it's actually doing:
>>
>>>>  (1) --branches --except maint
>>>
>>> => master next
>>
>> => master next
>>
>>>>  (2) --all --not --branches --except maint
>>>
>>> => X Y --not master next
>>
>> => ^master ^next X Y HEAD
>>
>>>>  (3) ^master next --except maint
>>>
>>> => ^master next
>>
>> => ^master next
>>
>>> (4) Y next --except master next --not --branches
>>>
>>> this => Y --not maint
>>> or this => Y --not maint master next
>>
>> => Y
>>
>> Remember that maint (or rather ^maint) is after --except.
>
> Sure, but why is it not in the result? maint is not even mentioned under
> --except. Confused...

It is mentioned under --except, by --branches.

> Ah, are you treating the union of master, next, and --branches as --except
> and ignore --not?

These are the same:

Y next --except master next --not --branches
Y next --except master next --not master next maint

If you add more positive branches:

They get removed anyway by --except:

Y next master maint --except master next --not master next maint
Y master maint --except master --not master maint
Y maint --except --not maint
Y

-- 
Felipe Contreras
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to