Finally implement "git log --follow"
[gitweb.git] / Documentation / git-log.txt
index 9cac0886cf3b03fd5c4454b1a0ea1920dd0edaf8..7adcdefacfd681729317c59ebacfd4a27db1effd 100644 (file)
@@ -12,22 +12,60 @@ SYNOPSIS
 
 DESCRIPTION
 -----------
-Shows the commit logs.  This command internally invokes
-'git-rev-list', and the command line options are passed to that
-command.
+Shows the commit logs.
+
+The command takes options applicable to the gitlink:git-rev-list[1]
+command to control what is shown and how, and options applicable to
+the gitlink:git-diff-tree[1] commands to control how the changes
+each commit introduces are shown.
 
 This manual page describes only the most frequently used options.
 
+
 OPTIONS
 -------
---pretty=<format>:
-       Controls the way the commit log is formatted.
 
---max-count=<n>::
+include::pretty-options.txt[]
+
+-<n>::
        Limits the number of commits to show.
 
 <since>..<until>::
-       Show only commits between the named two commits.
+       Show only commits between the named two commits.  When
+       either <since> or <until> is omitted, it defaults to
+       `HEAD`, i.e. the tip of the current branch.
+       For a more complete list of ways to spell <since>
+       and <until>, see "SPECIFYING REVISIONS" section in
+       gitlink:git-rev-parse[1].
+
+--first-parent::
+       Follow only the first parent commit upon seeing a merge
+       commit.  This  option gives a better overview of the
+       evolution of a particular branch.
+
+-p::
+       Show the change the commit introduces in a patch form.
+
+-g, \--walk-reflogs::
+       Show commits as they were recorded in the reflog. The log contains
+       a record about how the tip of a reference was changed.
+       See also gitlink:git-reflog[1].
+
+--decorate::
+       Print out the ref names of any commits that are shown.
+
+--full-diff::
+       Without this flag, "git log -p <paths>..." shows commits that
+       touch the specified paths, and diffs about the same specified
+       paths.  With this, the full diff is shown for commits that touch
+       the specified paths; this means that "<paths>..." limits only
+       commits, and doesn't limit diff for those commits.
+
+<paths>...::
+       Show only commits that affect the specified paths.
+
+
+include::pretty-formats.txt[]
 
 
 Examples
@@ -41,12 +79,23 @@ git log v2.6.12.. include/scsi drivers/scsi::
        Show all commits since version 'v2.6.12' that changed any file
        in the include/scsi or drivers/scsi subdirectories
 
-git log --since="2 weeks ago" -- gitk::
+git log --since="2 weeks ago" \-- gitk::
 
        Show the changes during the last two weeks to the file 'gitk'.
        The "--" is necessary to avoid confusion with the *branch* named
        'gitk'
 
+git log -r --name-status release..test::
+
+       Show the commits that are in the "test" branch but not yet
+       in the "release" branch, along with the list of paths
+       each commit modifies.
+
+Discussion
+----------
+
+include::i18n.txt[]
+
 
 Author
 ------
@@ -59,4 +108,3 @@ Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel
 GIT
 ---
 Part of the gitlink:git[7] suite
-