Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-06-06 20:21:48 +0400
committerJunio C Hamano <gitster@pobox.com>2008-06-06 20:21:48 +0400
commite919cb302e75141c2565106bed2f0b6cb8047570 (patch)
tree8c246f5ba59538f68022deb009b55bb8dc9b7e2d
parent7f718e8b46b37a9e1caf58a372938817f04885d9 (diff)
parentc0f6dc9b20523a569e567d3be4cabbc949c71b43 (diff)
Merge branch 'maint'
* maint: git-for-each-ref.txt: minor improvements name-rev: Fix segmentation fault when using --all
-rw-r--r--Documentation/git-for-each-ref.txt17
-rw-r--r--builtin-name-rev.c8
2 files changed, 15 insertions, 10 deletions
diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt
index f1f90cca62..6325ff9a68 100644
--- a/Documentation/git-for-each-ref.txt
+++ b/Documentation/git-for-each-ref.txt
@@ -8,9 +8,8 @@ git-for-each-ref - Output information on each ref
SYNOPSIS
--------
[verse]
-'git-for-each-ref' [--count=<count>]\*
- [--shell|--perl|--python|--tcl]
- [--sort=<key>]\* [--format=<format>] [<pattern>]
+'git-for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl]
+ [--sort=<key>]\* [--format=<format>] [<pattern>...]
DESCRIPTION
-----------
@@ -32,8 +31,9 @@ OPTIONS
<key>::
A field name to sort on. Prefix `-` to sort in
descending order of the value. When unspecified,
- `refname` is used. More than one sort keys can be
- given.
+ `refname` is used. You may use the --sort=<key> option
+ multiple times, in which case the last key becomes the primary
+ key.
<format>::
A string that interpolates `%(fieldname)` from the
@@ -48,9 +48,10 @@ OPTIONS
`%09` to `\t` (TAB) and `%0a` to `\n` (LF).
<pattern>::
- If given, the name of the ref is matched against this
- using fnmatch(3). Refs that do not match the pattern
- are not shown.
+ If one or more patterns are given, only refs are shown that
+ match againt at least one pattern, either using fnmatch(3) or
+ literally, in the latter case matching completely or from the
+ beginning up to a slash.
--shell, --perl, --python, --tcl::
If given, strings that substitute `%(fieldname)`
diff --git a/builtin-name-rev.c b/builtin-name-rev.c
index cde5de56fa..f153da012f 100644
--- a/builtin-name-rev.c
+++ b/builtin-name-rev.c
@@ -280,9 +280,13 @@ int cmd_name_rev(int argc, const char **argv, const char *prefix)
int i, max;
max = get_max_object_index();
- for (i = 0; i < max; i++)
- show_name(get_indexed_object(i), NULL,
+ for (i = 0; i < max; i++) {
+ struct object *obj = get_indexed_object(i);
+ if (!obj)
+ continue;
+ show_name(obj, NULL,
always, allow_undefined, data.name_only);
+ }
} else {
int i;
for (i = 0; i < revs.nr; i++)