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

SYNOPSIS

nuggt pull [options] [remote] [branch]

Perform a submodule-aware merge.

Options: --help brief help message --man full documentation

DESCRIPTION

nuggit pull [options]

This script performs a submodule-aware pull, automatically recursing into and resolving submodule reference-only conflicts as appropriate.

This application defaults to the 'ref-first' strategy for pull operations. See strategy option below and ngt-ops(1) for additional details on strategy.

Refer to nuggit merge or rebase commands for additional details.

OPTIONS

--help

Print a brief help message and exits.

--man

Print a brief help message and exits.

--ngtstrategy ref|branch, --branch-first, --ref-first

Nuggit operations default to the 'ref-first' strategy.

In this mode, the root repository will be pulled first. Nuggit will then recurse into each submodule whose currently checked out HEAD differs from the committed reference, and will attempt to merge the incoming reference. This is equivalent to "git submodule update --merge", or '--rebase' if the '--rebase' flag was specified.

Using the 'branch-first' strategy, 'git pull' will be effectively executed across all submodules. In this mode, committed submodule references are ignored.

In all cases, nuggit will automatically commit any submodule references that have been updated as a result of this operation.

See ngt-ops(1) for additional details on nuggit operations strategy.

--default

This flag is only valid in conjunction with branch-first strategy (ie: '--branch-first --default').

The default branch is the remote tracking branch defined in the submodule definition (.gitmodules), or the remote repository's default HEAD otherwise.

If specified, explicitly perform a pull of the origin's default branch in each repository. This is equivalent to running "git pull origin $default" where $default is determined independently for each submodule.

--rebase

This flag instructs git to utilize rebase instead of merge functionality when bringing in remote changes.

If specified, this flag will be passed to the underlyig 'git pull' command, or as the operation to 'submodule update' for subodules in ref-first mode.

--remote $remote

Explicitly specify the remote to pull from.

SEE ALSO

ngt-merge(1), ngt-rebase(1), ngt(1)