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