summaryrefslogtreecommitdiff
path: root/contrib/difftool
Commit message (Collapse)AuthorAgeFilesLines
* difftool: add a -y shortcut for --no-promptDavid Aguilar2009-04-072-25/+17
| | | | | | | | This is another consistency cleanup to make git-difftool's options match git-mergetool. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* difftool: use perl built-ins when testing for msysDavid Aguilar2009-04-071-2/+5
| | | | | | | | | I don't even know what $COMSPEC means so let's be safe and use the same perly $^O test add--interactive uses. While we're at it, make git-difftool match the prevalent git-perl style. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* difftool: remove the backup file featureDavid Aguilar2009-04-071-33/+1
| | | | | | | | Most users find the backup file feature annoying and there's no need for it since diff is supposed to be a read-only operation. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* difftool: remove merge options for opendiff, tkdiff, kdiff3 and xxdiffDavid Aguilar2009-04-071-7/+3
| | | | | | | | We shouldn't try to merge files when using difftool, so remove any merge-specific options. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git-mergetool/difftool: make (g)vimdiff workable under WindowsMarkus Heidelberg2009-04-071-2/+8
| | | | | | | | | | | | | | | | | Under Windows vimdiff and gvimdiff are not available as symbolic links, but as batch files vimdiff.bat and gvimdiff.bat. These files weren't found by 'type vimdiff' which led to the following error: The merge tool vimdiff is not available as 'vimdiff' Even if they were found, it wouldn't work to invoke these batch files from git-mergetool. To solve this, use vim and gvim (vim.exe and gvim.exe) and pass the -d command line switch over to them. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* contrib/difftool: use a separate config namespace for difftool commandsDavid Aguilar2009-03-113-23/+32
| | | | | | | | | | | | | Some users have different mergetool and difftool settings, so teach difftool to read config vars from the difftool.* namespace. This allows having distinct configurations for the diff and merge scenarios. We don't want to force existing users to set new values for no reason so difftool falls back to existing mergetool config variables when the difftool equivalents are not defined. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* contrib/difftool: Don't repeat merge tool candidatesDavid Aguilar2009-01-311-19/+12
| | | | | | | | | | | | | git difftool listed some candidates for mergetools twice, depending on the environment. This slightly changes the behavior when both KDE_FULL_SESSION and GNOME_DESKTOP_SESSION_ID are set at the same time; in such a case meld is used in favor of kdiff3 (the old code favored kdiff3 in such a case), but it should not matter in practice. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* contrib/difftool: add support for KompareMarkus Heidelberg2009-01-312-7/+12
| | | | | | Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Acked-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* contrib/difftool: remove distracting 'echo' in the SIGINT handlerMarkus Heidelberg2009-01-191-1/+0
| | | | | | | | | When interrupting git-difftool with Ctrl-C, the output of this echo command led to having the cursor at the beginning of the line below the shell prompt. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* contrib/difftool: change trap condition from SIGINT to INTMarkus Heidelberg2009-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | git-difftool worked for me on an up-to-date Gentoo Linux at home, but didn't work on a somewhat older Ubuntu Linux 7.10 at work and failed with the following error, where 'Makefile' was locally modified: trap: 244: SIGINT: bad trap external diff died, stopping at Makefile. In 'man 1p trap' there is written: "The condition can be EXIT, 0 (equivalent to EXIT), or a signal specified using a symbolic name, without the SIG prefix, [...]" "Implementations may permit names with the SIG prefix or ignore case in signal names as an extension." So now we do it the POSIX compliant way instead of using an extension. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* difftool: put the cursor on the editable file for VimDavid Aguilar2009-01-181-2/+6
| | | | | | | | | You only need to edit worktree files when comparing against the worktree. Put the cursor automatically into its window for vimdiff and gvimdiff to avoid doing <C-w>l every time. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* difftool: fix documentation problemsDavid Aguilar2009-01-182-13/+12
| | | | | | | | | This patch makes the difftool docs always refer to the git-difftool script using the dashed form of the name. Only command examples use the non-dashed form now. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* contrib: add 'git difftool' for launching common merge toolsDavid Aguilar2009-01-173-0/+418
'git difftool' is a git command that allows you to compare and edit files between revisions using common merge tools. 'git difftool' does what 'git mergetool' does but its use is for non-merge situations such as when preparing commits or comparing changes against the index. It uses the same configuration variables as 'git mergetool' and provides the same command-line interface as 'git diff'. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>