++ed by:

2 PAUSE users

Jeffrey Ryan Thalhammer
and 1 contributors


pinto - Curate a custom repository of Perl modules


version 0.066


  pinto --root=REPOSITORY_ROOT [global options] COMMAND [command options] [args]


pinto is a tool for creating and managing a custom CPAN-like repository of Perl modules. The purpose of such a repository is to provide a stable, curated stack of dependencies from which you can reliably build, test, and deploy your application using the standard Perl tool chain. pinto provides various commands for gathering and managing distribution dependencies within the repository, so that you can control precisely which dependencies go into your application.


pinto is just a front-end. To do anything useful, you'll also need to install one of the back-ends, which ship separately. If you need to create new repositories and/or work directly with repositories on the local disk, then install Pinto. If you already have a repository on a remote host that is running pintod, then install Pinto::Remote. If you're not sure what you need, then install Task::Pinto to get the whole kit.


pinto supports several commands that perform various operations on your repository, or report information about your repository. To get a listing of all the available commands:

  $> pinto commands

Each command has its own options and arguments. To get a brief summary:

  $> pinto help COMMAND

To see the complete manual for a command:

  $> pinto manual COMMAND


The following options are available for all commands.


Specifies the root of your repository. This is mandatory for (almost) all commands unless you've set the PINTO_REPOSITORY_ROOT environment variable to point to your repository. The root can be a path to a local directory, or the URL where a pintod server is listening.


Do not colorize command output.

--password PASS

The password to use for server authentication. This is only relevant if using a remote repository. If the PASS is "-" then you will be prompted for a password.


Report only fatal errors. This option silently overrides the --verbose options. Also suppresses the progress meter.

--username NAME

The username to user for server authentication. This is only relevant if using a remote repository. Defaults to your current login.


Display more diagnostic messages. This switch can be repeated multiple times for greater effect. Diagnostic messages are always sent to STDERR.


The following environment variables influence the behavior of pinto:


If you have installed pinto as a stand-alone application, then PINTO_HOME should point to the directory where you installed it. If PINTO_HOME is set at all, then it must point to a valid directory or pinto will throw an exception. Please see Pinto::Manual::Installing for details on stand-alone installations.


Sets the default path or URL of the pinto repository, if the --root is not specified. The --root is required for almost all commands. So if you usually only work with one repository, then setting this can save you quite a bit of typing.


Sets the path to editor application that will be used to compose log messages. If not set, defaults to VISUAL or EDITOR. At least one of these variables must be defined.


If set to a true value, suppresses color in all command output.


A comma-separated list of exactly three color names. Any name supported by Term::ANSIColor is allowed. These will be the colors that pinto uses to colorize various output. For example:

  PINTO_COLORS='red, light blue, green on_white'

Listing too many or too few colors will cause an exception, as will using an invalid color name.


Sets the default username when --username is not specified. This is only used for authentication with a pintod server. Defaults to your current shell username.


Sets the default author identity when the --author option is not specified (currently, only used by the add) command. Defaults to your current shell username. By PAUSE convention, all author id's are forced to uppercase.


Sets the path to the pager application that will be used to paginate output from each command. Defaults to PAGER. If none of these are set, then no pager is used.


If set to 1, pinto will emit more diagnostic messages to STDERR. If set to 2, pinto will emit even more diagnostic messages.


pintod to allow remote access to your Pinto repository.

Pinto::Manual for general information on using Pinto.

Stratopan for hosting your Pinto repository in the cloud.


Jeffrey Ryan Thalhammer <jeff@stratopan.com>


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.