From 1252bbe1c685450ec76ac750e8b0c2e0b762f93f Mon Sep 17 00:00:00 2001 From: Tim Henigan Date: Fri, 24 Feb 2012 14:48:57 -0500 Subject: contrib: add git-diffall script The 'git difftool' allows the user to view diffs using an external tool. It runs a separate instance of the tool for each file in the diff. This makes it tedious to review changes spanning multiple files. The 'git-diffall' script instead prepares temporary directories with the files to be compared and launches a single instance of the external diff tool to view them (i.e. a directory diff). The 'diff.tool' or 'merge.tool' configuration variable is used to specify which external tool is used. Signed-off-by: Tim Henigan Signed-off-by: Junio C Hamano --- contrib/diffall/README | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 contrib/diffall/README (limited to 'contrib/diffall/README') diff --git a/contrib/diffall/README b/contrib/diffall/README new file mode 100644 index 0000000000..507f17dcd6 --- /dev/null +++ b/contrib/diffall/README @@ -0,0 +1,31 @@ +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 []: shows diff between staged + changes and HEAD (or other named commit) + 3. git diffall : shows diff between working tree and named + commit + 4. git diffall : show diff between two named commits + 5. git diffall ..: same as above + 6. git diffall ...: show the changes on the branch + containing and up to the second, starting at a common ancestor + of both + +Note: all forms take an optional path limiter [-- *] + +The '--extcmd=' 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 -- cgit v1.2.3