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