NAME

App::Pinto::Command::replace - substitue an archive in the repository

VERSION

version 0.054

SYNOPSIS

pinto --root=REPOSITORY_ROOT replace [OPTIONS] ARCHIVE_FILE TARGET

DESCRIPTION

!! THIS COMMAND IS EXPERIMENTAL !!

This command adds a new distribution archive to the repository and pulls its packages into all stacks that currently contain packages from the old distribution. Effectively, it replaces one distribution with another across all stacks.

This is useful when you want to "hotfix" an existing distribution and immediately propagate it to all stacks that use it. However, each distribution archive in the repository must have a unqiue path, so you must give the new archive a different name or assign it to a different author.

COMMAND ARGUMENTS

There are two required arguments. The first argument is the path to the replacement distribution archive. The second argument is the target you want to replace. The target is specified as AUTHOR/ARCHIVE). For example: JOHN/Foo-Bar-1.0.tar.gz

COMMAND OPTIONS

--author NAME

Set the identity of the replacement distribution author. The NAME must be alphanumeric characters plus hyphens and uderscores. Defaults to the uppercased user specified in your ~/.pause configuration file if such file exists. Otherwise, defaults to your current login username.

--dryrun

Go through all the motions, but do not actually commit any changes to the repository. Use this option to see how the command would potentially impact the stack.

--message=TEXT
-m TEXT

Use TEXT as the revision history log message. If you do not use the --message option or the --use-default-message option, then you will be prompted to enter the message via your text editor. Use the EDITOR or VISUAL environment variables to control which editor is used. A log message is not required whenever the --dryrun option is set, or if the action did not yield any changes to the repository.

--norecurse
-n

Do not recursively pull distributions required to satisfy the prerequisites of the added distribution.

--pin

Pins all the packages in the added distributions to all the affected stacks, so they cannot be changed until you unpin them. The pin does not apply to any prerequisites that are pulled in for this distribution. However, you may pin them separately with the pin command, if you so desire.

--use-default-message
-M

Use the default value for the revision history log message. Pinto will generate a semi-informative log message just based on the command and its arguments. If you set an explicit message with --message, the --use-default-message option will be silently ignored.

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.