From: Philip Oakley Date: Sun, 10 Jan 2016 23:08:17 GMT Subject: Re: [PATCH V3 0/2] specify commit by negative pattern Message-ID: <72AF834F7D7B46D298EFE697EBF19E0E@PhilipOakley> In-Reply-To: <1686181.AoEpo53h6D@thunderbird> From: "Stephen & Linda Smith" > On Sunday, January 10, 2016 01:25:42 PM Philip Oakley wrote: >> From: "Stephen P. Smith" >> > Add support for negative pattern matching in ^{/} style >> >> Has this become mangled by replacing the '@' with ' ' ? > It looks like the cover letter got mangled. I will fix after I get any > comments > on the patches themselves. > I think I was also confused between the extra ways of spelling @ (listed first in revisions.txt), and the extra was of spelling , i.e. the ^{/}, and then in patch 2/2 it actually being the :/ syntax. >> >> When I look at the update to revisions.txt it doesn't look like its >> touching >> the '@' description. >> Is this '@^' a new (for the documenation) combination. Or has the example >> confused me? >> >> > revision specifiers. So now you can find the first commit whose message >> > doesn't match a pattern, complementing the existing positive matching. >> > e.g.: >> > >> > $ git rebase -i ^{/!-^WIP} >> > >> > My use-case is in having a "work, work, work, rebase, push"-style >> > workflow, which generates a lot of "WIP foo" commits. While rebasing is >> > usually handled via "git rebase -i origin/master", occasionally I will >> > already have several "good, but not yet ready to push" commits hanging >> > around while I finish work on related commits. In these situations, the >> > ability to quickly "git diff ^{/!-^WIP}" to get an overview of >> > all >> > changes "since the last one I was happy with", can be useful. >> > >> > This is the second version of the patch series. The previous attempt >> > used the notation ^{/!WIP}, rather than ^{/!-WIP}, so the >> > "modifier" >> > was the '!' character. Now, '!' is taken as an indicator that the >> > pattern is to be interpreted differently, and '-' is taken as an >> > indicator of how it is to be interpreted differently. This follows >> > recent discussion with "Junio C Hamano" pobox.com> and >> > much-less >> > recent discussion archived at: >> > >> > http://thread.gmane.org/gmane.comp.version-control.git/40460/focus=40477 >> > >> > In summary, '!' is to be used as an "escape hatch", for further >> > extension of the "name commit by pattern" functionality. Theorised >> > future >> > extensions indicated things like "what was to be searched", >> > e.g.: ^{/!(a=author)}. With only two interpretations of the '!' >> > leader, for now (including the '!!' literal notation), adding such a >> > verbose form, such as ' ^{/!(negative)foo}', seemed inappropriate >> > at >> > this >> > time. In the event that such verbose forms are ever implemented, this >> > new >> > form may act as a shorthand, for a basic case. >> > >> > Will Palmer (2): >> > test for '!' handling in rev-parse's named commits >> > object name: introduce '^{/!-}' notation >> > >> > Documentation/revisions.txt | 11 +++++----- >> > sha1_name.c | 20 ++++++++++++----- >> > t/t1511-rev-parse-caret.sh | 53 >> > ++++++++++++++++++++++++++++++++++++++++++++- >> > 3 files changed, 73 insertions(+), 11 deletions(-) >> > >> -- >> Philip >> > > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >