NAME

App::Pinto::Command::merge - merge one stack into another

VERSION

version 0.052

SYNOPSIS

pinto --root=REPOSITORY_ROOT merge [OPTIONS] SOURCE_STACK TARGET_STACK

DESCRIPTION

!! THIS COMMAND IS EXPERIMENTAL !!

This command merges the packages from one stack (the SOURCE) into another (the TARGET). Merge rules are as follows:

  • If a package in the SOURCE is newer than the corresponding package in the TARGET, then the package in the TARGET is upgraded to the same version as the package in the SOURCE.

  • If the package in the TARGET is pinned and the corresponding package in the SOURCE is newer, then a conflict occurrs.

  • If the package in the SOURCE is pinned and the corresponding package in the TARGET is newer, then a conflict occurrs.

Whenever there is a conflict, the merge is aborted. All the pins from the SOURCE are also placed on the TARGET. Both SOURCE and TARGET stacks must already exist before merging. Please see the copy or new commands to create stacks.

COMMAND ARGUMENTS

Required arguments are the name of the SOURCE stack and the name of the TARGET stack.

COMMAND OPTIONS

--dryrun

Go through all the motions, but do not actually commit any changes to the repository. Use this option to see potential conflicts that a would prevent a real merge.

AUTHOR

Jeffrey Thalhammer <jeff@imaginative-software.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Imaginative Software Systems.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.