NAME¶
App::Pinto::Command::add - add local archives to the repository
VERSION¶
version 0.097
SYNOPSIS¶
pinto --root=REPOSITORY_ROOT add [OPTIONS] ARCHIVE_FILE ...
DESCRIPTION¶
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.
COMMAND ARGUMENTS¶
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.
COMMAND OPTIONS¶
- --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.
- --cascade
- !! THIS OPTION IS EXPERIMENTAL !!
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.
- --dry-run
- 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 "--dry-run" option is set, or if the action did not
yield any changes to the repository.
- --no-fail
- !! THIS OPTION IS EXPERIMENTAL !!
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.
- --no-index=PACKAGE
- -x PACKAGE
- --no-index=/PATTERN
- -x /PATTERN
- !! THIS OPTION IS EXPERIMENTAL !!
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.
- --recurse
- --no-recurse
- 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 "--no-recurse".
- --pin
- 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.
- --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.
- --with-development-prerequisites
- --wd
- 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.
AUTHOR¶
Jeffrey Ryan Thalhammer <jeff@stratopan.com>
COPYRIGHT AND LICENSE¶
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.