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... Ah, are you treating the union of master, next, and --branches as --except and ignore --not? -- Hannes -- 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