difftool: print list of valid tools with '--tool-help'
authorTim Henigan <tim.henigan@gmail.com>
Thu, 29 Mar 2012 13:39:18 +0000 (09:39 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 23 Apr 2012 19:00:42 +0000 (12:00 -0700)
commitbf73fc212a159210398b6d46ed5e9101c650e7db
tree9f53002fc3812a60ff11368b17cfbcd6d89b76c3
parent7e0abcec103b3649943b236881cf88e8fd6cf3a4
difftool: print list of valid tools with '--tool-help'

Since bc7a96a (mergetool--lib: Refactor tools into separate files,
2011-08-18), it is possible to add a new diff tool by creating a simple
script in the '$(git --exec-path)/mergetools' directory.  Updating the
difftool help text is still a manual process, and the documentation can
easily go out of sync.

This commit teaches difftool the '--tool-help' option, which:
  - Reads the list of valid tools from 'mergetools/*'
  - Determines which of them are actually installed
  - Determines which are capable of diffing (i.e. not just a merge tool)
  - Prints the resulting list for the user

Signed-off-by: Tim Henigan <tim.henigan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-difftool.txt
git-difftool.perl
t/t7800-difftool.sh