From: Johannes Sixt Date: Fri, 30 Aug 2013 07:56:47 GMT Subject: Re: [PATCH] revision: add --except option Message-ID: <5220503F.2080608@viscovery.net> In-Reply-To: <7vhae7k7t1.fsf@alter.siamese.dyndns.org> 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". > (1) --branches --except maint => master next > (2) --all --not --branches --except maint => X Y --not master next > (3) ^master next --except maint => ^master next What should the following mean? Does --not forget that --except was earlier on the command line? (4) Y next --except master next --not --branches this => Y --not maint or this => Y --not maint master next What about this: (5) --branches --except ^master this => maint next or this => maint master next ^master or error("--except does not allow negated revisions") -- Hannes