Provided by: pinto_0.97+dfsg-4_all bug


       App::Pinto::Command::add - add local archives to the repository


       version 0.097


         pinto --root=REPOSITORY_ROOT add [OPTIONS] ARCHIVE_FILE ...


       This command adds local distribution archives to the repository and registers their
       packages on a stack. Then it recursively pulls all the distributions that are necessary to
       satisfy their prerequisites.

       When locating prerequisite packages, Pinto first looks at the packages that already exist
       in the local repository, then Pinto looks at the packages that are available on the
       upstream repositories.


       Arguments to this command are paths to the distribution archives that you wish to add.
       Each of these files must exist and must be readable.

       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.


       --author NAME
           Set the identity of the distribution author.  The "NAME" is automatically forced to
           uppercase and must match "/^[A-Z]{2}[-A-Z0-9]*$/" (that means two ASCII letters
           followed by zero or more ASCII letters, digits, or hyphens). Defaults to the "user"
           attribute specified in your ~/.pause configuration file if such file exists.
           Otherwise, defaults to your current login username.


           When searching for a prerequisite package, always take the latest satisfactory version
           of the package found amongst all the upstream repositories, rather than just taking
           the first satisfactory version that is found.  Remember that Pinto only searches the
           upstream repositories when the local repository does not already contain a
           satisfactory version of the package.

           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.

       -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 "--dry-run"
           option is set, or if the action did not yield any changes to the repository.


           Normally, failure to add an archive (or its prerequisites) causes the command to
           immediately abort and rollback the changes to the repository.  But if "--no-fail" is
           set, then only the changes caused by the failed archive (and its prerequisites) will
           be rolled back and the command will continue processing the remaining archives.

           This option is useful if you want to throw a list of archives into a repository and
           see which ones are problematic.  Once you've fixed the broken ones, you can throw the
           whole list at the repository again.

       -x PACKAGE
       -x /PATTERN

           Exclude the PACKAGE from the index.  If the argument starts with a slash, then it is
           interpreted as a regular expression, and all packages matching the pattern will be
           excluded.  Exclusions only apply to the added distributions (i.e. the arguments to
           this command) so they do not affect any prerequisited distributions that may also get
           pulled.  You can repeat this option to specify multiple PACKAGES or PATTERNS.

           This option is useful when Pinto's indexing is to aggressive and finds packages that
           it probably should not.  Remember that Pinto does not promise to index exactly as
           PAUSE would.  When using a PATTERN, take care to use a conservative one so you don't
           exclude the wrong packages.  Pinto will throw an exception if you exclude every
           package in the distribution.

           Recursively pull any distributions required to satisfy prerequisites for the targets.
           The default value for this option can be configured in the pinto.ini configuration
           file for the repository (it is usually set to 1).  To disable recursion, use

           Pins all the packages in the added distributions to the stack, 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.

       --stack NAME
       -s NAME
           Puts all the packages onto the stack with the given NAME.  Defaults to the name of
           whichever stack is currently marked as the default stack.  Use the stacks command to
           see the stacks in the repository.

       -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.

           Also pull development prerequisites so you'll have everything you need to work on
           those distributions, in the event that you need to patch them in the future.  Be aware
           that most distributions do not actually declare their development prerequisites.


       Jeffrey Ryan Thalhammer <>


       This software is copyright (c) 2013 by Jeffrey Ryan Thalhammer.

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