NAME

App::Pinto::Admin::Command::import - get selected distributions from a remote repository

VERSION

version 0.038

SYNOPSIS

pinto-admin --root=/some/dir import [OPTIONS] TARGET ...
pinto-admin --root=/some/dir import [OPTIONS] < LIST_OF_TARGETS

DESCRIPTION

This command locates a package in your upstream repositories and then imports the distribution providing that package into your repository. Then it recursively locates and imports all the distributions that are necessary to satisfy its prerequisites. You can also request to directly import a particular distribution.

When locating packages, Pinto first looks at the the packages that already exist in the local repository, then Pinto looks at the packages that are available available on the upstream repositories. At present, Pinto takes the *first* package it can find that satisfies the prerequisite. In the future, you may be able to direct Pinto to instead choose the *latest* package that satisfies the prerequisite. (NOT SURE THOSE LAST TWO STATEMENTS ARE TRUE).

Imported distributions will be assigned to their original author (compare this to the add command which makes you the author of the distribution). Also, packages provided by imported distributions are still considered foreign, so locally added packages will always override ones that you imported, even if the imported package has a higher version.

COMMAND ARGUMENTS

Arguments are the targets that you want to import. Targets can be specified as packages (with or without a minimum version number) or as particular distributions. For example:

Foo::Bar                                 # Imports any version of Foo::Bar
Foo::Bar-1.2                             # Imports Foo::Bar 1.2 or higher
SHAKESPEARE/King-Lear-1.2.tar.gz         # Imports a specific distribuion
SHAKESPEARE/tragedies/Hamlet-4.2.tar.gz  # Ditto, but from a subdirectory

You can also pipe arguments to this command over STDIN. In that case, blank lines and lines that look like comments (i.e. starting with "#" or ';') will be ignored.

COMMAND OPTIONS

--message=MESSAGE

Prepends the MESSAGE to the VCS log message that Pinto generates. This is only relevant if you are using a VCS-based storage mechanism for Pinto.

--nocommit

Prevents Pinto from committing changes in the repository to the VCS after the operation. This is only relevant if you are using a VCS-based storage mechanism. Beware this will leave your working copy out of sync with the VCS. It is up to you to then commit or rollback the changes using your VCS tools directly. Pinto will not commit old changes that were left from a previous operation.

--norecurse

Prevents Pinto from recursively importing any distributions required to satisfy prerequisites.

--noinit

Prevents Pinto from pulling/updating the repository from the VCS before the operation. This is only relevant if you are using a VCS-based storage mechanism. This can speed up operations considerably, but should only be used if you *know* that your working copy is up-to-date and you are going to be the only actor touching the Pinto repository within the VCS.

--tag=NAME

Instructs Pinto to tag the head revision of the repository at NAME. This is only relevant if you are using a VCS-based storage mechanism. The syntax of the NAME depends on the type of VCS you are using.

AUTHOR

Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 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.