The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

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

VERSION

version 0.030

SYNOPSIS

  pinto-admin --root=/some/dir import [OPTIONS] PACKAGE_NAME ...
  pinto-admin --root=/some/dir import [OPTIONS] < LIST_OF_PACKAGE_NAMES

DESCRIPTION

This command locates a package on one of your remote repositories and then imports the distribution providing that package into your local repository. Then it recursively locates and imports all the distributions that provide the packages to satisfy the prerequisites for that 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 remote 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.

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

To import a distribution that provides a particular package, just give the name of the package. For example:

  Foo::Bar

To specify a minimum version for that package, append '-' and the minimum version number to the name. For example:

  Foo::Bar-1.2

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.

In the future, you may be able to specify distribution paths or specific URLs for import as well.

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.