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

NAME

ngt merge-tree - Three-way diff tool serving as a merge preview.

EXPERIMENTAL - This script should be considered experimental and likely will not handle all cases

SYNOPSIS

nuggit merge-tree [base-tree] [branch1] branch2 nuggit merge --preview branch1

This command simulates the probable output of the given merge operation by conducting a 3-way comparison of the source, destination, and common base commits. It may also be invoked manually for a comparison of any arbitrary trio of commits.

This function is a user-friendly expansion of the raw functionality provided by git's merge-tree command, with added submodule recursion.

Options

--json

Output results in a JSON format for parsing, or piping to a future UI. This implies '--full'

--full

Show all changes if set (default), otherwise only show summary and detected conflicts.

-verbose

Dump full internal results object

-patch

Output a patch file (note: can't be applied if it contains conflicts)

DESCRIPTION

ngt merge-tree

This command accepts the nuggit '--strategy' flag. - Using the default ref-first strategy, differences will follow submodule references. Input arguments may be any object reference (branch, tag, or commit) valid for the root repository. - Using the branch first strategy (--strategy=branch), the given branches/tags will be compared at all levels. SHA commits are not valid in this mode.

branch2 is the source branch. This argument is required.

branch1 is the destination branch. If omitted, HEAD will be assummed.

base-tree is the third baese for comparison, typically the common ancestor. If omitted, this will be calculated using 'git merge-base branch1 branch2'.