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
-----------
Iterate over all refs that match `<pattern>` and show them
according to the given `<format>`, after sorting them according
-to the given set of `<key>`. If `<max>` is given, stop after
+to the given set of `<key>`. If `<count>` is given, stop after
showing that many refs. The interpolated values in `<format>`
can optionally be quoted as string literals in the specified
host language allowing their direct evaluation in that language.
<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
`xx`; for example `%00` interpolates to `\0` (NUL),
`%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.
+<pattern>...::
+ If one or more patterns are given, only refs are shown that
+ match against 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::
+--shell::
+--perl::
+--python::
+--tcl::
If given, strings that substitute `%(fieldname)`
placeholders are quoted as string literals suitable for
the specified host language. This is meant to produce
The type of the object (`blob`, `tree`, `commit`, `tag`).
objectsize::
- The size of the object (the same as `git-cat-file -s` reports).
+ The size of the object (the same as 'git-cat-file -s' reports).
objectname::
The object name (aka SHA-1).
------------
#!/bin/sh
-git-for-each-ref --count=3 --sort='-*authordate' \
+git for-each-ref --count=3 --sort='-*authordate' \
--format='From: %(*authorname) %(*authoremail)
Subject: %(*subject)
Date: %(*authordate)
------------
#!/bin/sh
-git-for-each-ref --shell --format="ref=%(refname)" refs/heads | \
+git for-each-ref --shell --format="ref=%(refname)" refs/heads | \
while read entry
do
eval "$entry"
fi
'
-eval=`git-for-each-ref --shell --format="$fmt" \
+eval=`git for-each-ref --shell --format="$fmt" \
--sort='*objecttype' \
--sort=-taggerdate \
refs/tags`