From: Will Palmer Date: Wed, 03 Jun 2015 20:54:12 GMT Subject: [PATCH 0/2] specify commit by negative pattern Message-ID: <1433364854-30088-1-git-send-email-wmpalmer@gmail.com> add support for negative pattern matching in @^{/} 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. Reading through the history of this type of revision specifier, it feels like a negative match was always thought of as potentially useful someday, but didn't fit well with the original patch's limitations (namely: always searching across all refs). Will Palmer (2): test for '!' handling in rev-parse's named commits object name: introduce '^{/!}' notation Documentation/revisions.txt | 7 ++++--- sha1_name.c | 22 ++++++++++++++++------ t/t1511-rev-parse-caret.sh | 45 ++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 64 insertions(+), 10 deletions(-) -- 2.3.0.rc1