From: Philip Oakley Date: Mon, 11 Jan 2016 17:59:19 GMT Subject: Re: [PATCH V3 0/2] specify commit by negative pattern Message-ID: <9A32BC480D1F4BD38436CE498D062D0B@PhilipOakley> In-Reply-To: <1452470880-8753-1-git-send-email-ischis2@cox.net> From: "Stephen P. Smith" > Add support for negative pattern matching in perhaps s!in!in the :/ regex pattern style, and consequentially the! Given that the documenation changes are there. > @^{/} style > 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" 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(-) > > -- > 2.7.0-rc2 > > -- > 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 >