shortlog: Document and test --format option
Do not document the --pretty synonym, since it takes too long to explain the name to people. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
ed715b5e39
commit
600372497c
@ -44,6 +44,14 @@ OPTIONS
|
|||||||
--email::
|
--email::
|
||||||
Show the email address of each author.
|
Show the email address of each author.
|
||||||
|
|
||||||
|
--format[='<format>']::
|
||||||
|
Instead of the commit subject, use some other information to
|
||||||
|
describe each commit. '<format>' can be any string accepted
|
||||||
|
by the `--format` option of 'git log', such as '{asterisk} [%h] %s'.
|
||||||
|
(See the "PRETTY FORMATS" section of linkgit:git-log[1].)
|
||||||
|
|
||||||
|
Each pretty-printed commit will be rewrapped before it is shown.
|
||||||
|
|
||||||
-w[<width>[,<indent1>[,<indent2>]]]::
|
-w[<width>[,<indent1>[,<indent2>]]]::
|
||||||
Linewrap the output by wrapping each line at `width`. The first
|
Linewrap the output by wrapping each line at `width`. The first
|
||||||
line of each entry is indented by `indent1` spaces, and the second
|
line of each entry is indented by `indent1` spaces, and the second
|
||||||
|
@ -39,7 +39,58 @@ test_expect_success 'setup' '
|
|||||||
|
|
||||||
echo 6 >a1 &&
|
echo 6 >a1 &&
|
||||||
git commit --quiet -m "Commit by someone else" \
|
git commit --quiet -m "Commit by someone else" \
|
||||||
--author="Someone else <not!me>" a1
|
--author="Someone else <not!me>" a1 &&
|
||||||
|
|
||||||
|
cat >expect.template <<-\EOF
|
||||||
|
A U Thor (5):
|
||||||
|
SUBJECT
|
||||||
|
SUBJECT
|
||||||
|
SUBJECT
|
||||||
|
SUBJECT
|
||||||
|
SUBJECT
|
||||||
|
|
||||||
|
Someone else (1):
|
||||||
|
SUBJECT
|
||||||
|
|
||||||
|
EOF
|
||||||
|
'
|
||||||
|
|
||||||
|
fuzz() {
|
||||||
|
file=$1 &&
|
||||||
|
sed "
|
||||||
|
s/$_x40/OBJECT_NAME/g
|
||||||
|
s/$_x05/OBJID/g
|
||||||
|
s/^ \{6\}[CTa].*/ SUBJECT/g
|
||||||
|
s/^ \{8\}[^ ].*/ CONTINUATION/g
|
||||||
|
" <"$file" >"$file.fuzzy" &&
|
||||||
|
sed "/CONTINUATION/ d" <"$file.fuzzy"
|
||||||
|
}
|
||||||
|
|
||||||
|
test_expect_success 'default output format' '
|
||||||
|
git shortlog HEAD >log &&
|
||||||
|
fuzz log >log.predictable &&
|
||||||
|
test_cmp expect.template log.predictable
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'pretty format' '
|
||||||
|
sed s/SUBJECT/OBJECT_NAME/ expect.template >expect &&
|
||||||
|
git shortlog --format="%H" HEAD >log &&
|
||||||
|
fuzz log >log.predictable &&
|
||||||
|
test_cmp expect log.predictable
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_failure '--abbrev' '
|
||||||
|
sed s/SUBJECT/OBJID/ expect.template >expect &&
|
||||||
|
git shortlog --format="%h" --abbrev=5 HEAD >log &&
|
||||||
|
fuzz log >log.predictable &&
|
||||||
|
test_cmp expect log.predictable
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'output from user-defined format is re-wrapped' '
|
||||||
|
sed "s/SUBJECT/two lines/" expect.template >expect &&
|
||||||
|
git shortlog --format="two%nlines" HEAD >log &&
|
||||||
|
fuzz log >log.predictable &&
|
||||||
|
test_cmp expect log.predictable
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'shortlog wrapping' '
|
test_expect_success 'shortlog wrapping' '
|
||||||
|
Loading…
Reference in New Issue
Block a user