archive: handle commits with an empty tree
[git/jnareb-git.git] / contrib / diffall / README
blob507f17dcd6fa644c155af38032729b70ed6a34eb
1 The git-diffall script provides a directory based diff mechanism
2 for git.
4 To determine what diff viewer is used, the script requires either
5 the 'diff.tool' or 'merge.tool' configuration option to be set.
7 This script is compatible with most common forms used to specify a
8 range of revisions to diff:
10   1. git diffall: shows diff between working tree and staged changes
11   2. git diffall --cached [<commit>]: shows diff between staged
12      changes and HEAD (or other named commit)
13   3. git diffall <commit>: shows diff between working tree and named
14      commit
15   4. git diffall <commit> <commit>: show diff between two named commits
16   5. git diffall <commit>..<commit>: same as above
17   6. git diffall <commit>...<commit>: show the changes on the branch
18      containing and up to the second, starting at a common ancestor
19      of both <commit>
21 Note: all forms take an optional path limiter [-- <path>*]
23 The '--extcmd=<command>' option allows the user to specify a custom
24 command for viewing diffs.  When given, configured defaults are
25 ignored and the script runs $command $LOCAL $REMOTE.  Additionally,
26 $BASE is set in the environment.
28 This script is based on an example provided by Thomas Rast on the
29 Git list [1]:
31 [1] http://thread.gmane.org/gmane.comp.version-control.git/124807