Re: [PATCH V3 0/2] specify commit by negative pattern
- From
Philip Oakley <philipoakley@iee.org>
- Date
- Jan 10, 2016, 11:00 UTC
- Message-ID
- <87DF51336FE74635921A8C6857125F8B@PhilipOakley>
- In-Reply-To
- <1452392429-2578-1-git-send-email-ischis2@cox.net>
From: "Stephen P. Smith" <ischis2@cox.net>
> Add support for negative pattern matching in <at> ^{/<pattern>} styleHas this become mangled by replacing the '@' with ' <at> ' ?
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?
Show 46 quoted lines
> 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 <at> ^{/!-^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 <at> ^{/!-^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 <at> ^{/!WIP}, rather than <at> ^{/!-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 <at> 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.: <at> ^{/!(a=author)}. With only two interpretations of the '!'
> leader, for now (including the '!!' literal notation), adding such a
> verbose form, such as ' <at> ^{/!(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(-)
>-- Philip