Skip to content

Script to perform directory diffs using an external diff tool in Git

Notifications You must be signed in to change notification settings

sdespont/git-diffall

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 

Repository files navigation

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

About

Script to perform directory diffs using an external diff tool in Git

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 100.0%