path.c: refactor relative_path(), not only strip prefix
[gitweb.git] / Documentation / git-shortlog.txt
index 6968ca6060a075bdd2a53776f353dfabb444fc88..31af7f27360d277ccdc3e5bd59b4788c83934b8e 100644 (file)
@@ -1,31 +1,86 @@
 git-shortlog(1)
 ===============
-v0.99.4, Aug 2005
 
 NAME
 ----
-git-shortlog - Summarize 'git log' output.
-
+git-shortlog - Summarize 'git log' output
 
 SYNOPSIS
 --------
-'git log --pretty=short | git shortlog'
+[verse]
+git log --pretty=short | 'git shortlog' [<options>]
+'git shortlog' [<options>] [<revision range>] [[\--] <path>...]
 
 DESCRIPTION
 -----------
 Summarizes 'git log' output in a format suitable for inclusion
-in release announcements.
+in release announcements. Each commit will be grouped by author and title.
+
+Additionally, "[PATCH]" will be stripped from the commit description.
+
+If no revisions are passed on the command line and either standard input
+is not a terminal or there is no current branch, 'git shortlog' will
+output a summary of the log read from standard input, without
+reference to the current repository.
+
+OPTIONS
+-------
+
+-n::
+--numbered::
+       Sort output according to the number of commits per author instead
+       of author alphabetic order.
+
+-s::
+--summary::
+       Suppress commit description and provide a commit count summary only.
+
+-e::
+--email::
+       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 '* [%h] %s'.
+       (See the "PRETTY FORMATS" section of linkgit:git-log[1].)
 
-Author
-------
-Written by Jeff Garzik <jgarzik@pobox.com>
+       Each pretty-printed commit will be rewrapped before it is shown.
 
-Documentation
---------------
-Documentation by Junio C Hamano.
+-w[<width>[,<indent1>[,<indent2>]]]::
+       Linewrap the output by wrapping each line at `width`.  The first
+       line of each entry is indented by `indent1` spaces, and the second
+       and subsequent lines are indented by `indent2` spaces. `width`,
+       `indent1`, and `indent2` default to 76, 6 and 9 respectively.
++
+If width is `0` (zero) then indent the lines of the output without wrapping
+them.
+
+<revision range>::
+       Show only commits in the specified revision range.  When no
+       <revision range> is specified, it defaults to `HEAD` (i.e. the
+       whole history leading to the current commit).  `origin..HEAD`
+       specifies all the commits reachable from the current commit
+       (i.e. `HEAD`), but not from `origin`. For a complete list of
+       ways to spell <revision range>, see the "Specifying Ranges"
+       section of linkgit:gitrevisions[7].
+
+[\--] <path>...::
+       Consider only commits that are enough to explain how the files
+       that match the specified paths came to be.
++
+Paths may need to be prefixed with "\-- " to separate them from
+options or the revision range, when confusion arises.
+
+MAPPING AUTHORS
+---------------
+
+The `.mailmap` feature is used to coalesce together commits by the same
+person in the shortlog, where their name and/or email address was
+spelled differently.
+
+include::mailmap.txt[]
 
 GIT
 ---
-Part of the link:git.html[git] suite
-
+Part of the linkgit:git[1] suite