The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

SYNOPSIS

  Invoke a diff or merge tool as appropriate for all repositories.

  nuggit_tools.pl diff
  nuggit_tools.pl merge

  ngt mergetool --tool meld
  ngt difftool --tool kdiff3

Note: The specified tool will be invoked discretely for each repository/submodule.

WARNING: Ensure that the specified tool can run from your current shell. Git may automatically revert to command-line tools if, for example, X11 forwarding is not enabled ona n SSH connection. For maximum reliability, this command should be executed from a local shell or VNC instance.

WARNING: While diff and merge tool commands will pass through commit and file paths to git, at this time that functionality is NOT submodule aware and may fail for arguments not valid for all submodules.

The following options are supported for all modes:

--tool | -t

Use the specified diff/merge tool. If not specified, git will invokve the default diff.tool.

see "git difftool --tool-help" for details.

--prompt | --no-prompt

Determine if a prompt should be generated between each tool invocation.

Note: This flag is used by both the nuggit wrapper per-repository, and for git for each invocation of the tool within a repository.

The default behavior is for no-prompt for merge, and prompts enabled for diffs.

--breadth_first

The default behavior is to process submodules in a depth-first manner. If this flag is specified, processing will start at the top level down instead.

--gui | g

This is a pass-through for 'git mergetool -g' or 'git difftool -g' which causes Git to look for the configured tool in the 'guitool' setting instead of the 'tool' setting.