rev-parse --glob

Add --glob=<glob-pattern> option to rev-parse and everything that
accepts its options. This option matches all refs that match given
shell glob pattern (complete with some DWIM logic).

Example:

'git log --branches --not --glob=remotes/origin'

To show what you have that origin doesn't.

Signed-off-by: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ilari Liusvaara
2010-01-20 11:48:25 +02:00
committed by Junio C Hamano
parent 5b15950ac4
commit d08bae7e22
9 changed files with 223 additions and 2 deletions

View File

@ -107,6 +107,17 @@ git log --follow builtin-rev-list.c::
those commits that occurred before the file was given its
present name.
git log --branches --not --glob=remotes/origin/*::
Shows all commits that are in any of local branches but not in
any of remote tracking branches for 'origin' (what you have that
origin doesn't).
git log master --not --glob=remotes/*/master::
Shows all commits that are in local master but not in any remote
repository master branches.
Discussion
----------

View File

@ -24,6 +24,7 @@ SYNOPSIS
[ \--branches ]
[ \--tags ]
[ \--remotes ]
[ \--glob=glob-pattern ]
[ \--stdin ]
[ \--quiet ]
[ \--topo-order ]

View File

@ -112,6 +112,11 @@ OPTIONS
--remotes::
Show tag refs found in `$GIT_DIR/refs/remotes`.
--glob=glob-pattern::
Show refs matching shell glob pattern `glob-pattern`. If pattern
specified lacks leading 'refs/', it is automatically prepended.
If pattern lacks '?', '*', or '[', '/*' at the end is impiled.
--show-prefix::
When the command is invoked from a subdirectory, show the
path of the current directory relative to the top-level

View File

@ -243,6 +243,13 @@ endif::git-rev-list[]
Pretend as if all the refs in `$GIT_DIR/refs/remotes` are listed
on the command line as '<commit>'.
--glob=glob-pattern::
Pretend as if all the refs matching shell glob `glob-pattern`
are listed on the command line as '<commit>'. Leading 'refs/',
is automatically prepended if missing. If pattern lacks '?', '*',
or '[', '/*' at the end is impiled.
ifndef::git-rev-list[]
--bisect::