On Mon, Sep 2, 2013 at 1:25 AM, Johannes Sixt <j.sixt@xxxxxxxxxxxxx> wrote: > Am 8/31/2013 21:27, schrieb Felipe Contreras: >> On Fri, Aug 30, 2013 at 2:56 AM, Johannes Sixt <j.sixt@xxxxxxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html