App::Pinto::Command::update - update packages to latest versions
version 0.14
pinto --root=REPOSITORY_ROOT update [OPTIONS] TARGET ...
!! THIS COMMAND IS EXPERIMENTAL !!!
This command updates packages in your repository to the newer versions in an
updstream repository. By default, Pinto takes the first newer version that it
finds. If the "--cascade" option is used, then Pinto will take the
newest version it finds among all the upstream repositories.
Arguments are the names of the pakcages you want to install. If using the
"--all" or "--roots" options then arguments are not
allowed.
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. If using the "--all" or "--roots"
options, then input will not be read from STDIN.
- --all
- Update all distributions in the stack. We do not attempt to
update locally added distributions unless "--force" is used. If
this option is used, then package names cannot be given as command
arguments. See also the "--roots" option.
- --cascade
- !! THIS OPTION IS EXPERIMENTAL !!
When searching for a package (or one of its prerequisites), always take the
latest satisfactory version of the package found amongst all the
upstream repositories, rather than just taking the first newer
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.
- --diff-style=STYLE
- Controls the style of the diff reports. STYLE must be
either "concise" or "detailed". Concise reports show
only one record for each distribution added or deleted. Detailed reports
show one record for every package added or deleted.
The default style is "concise". However, the default style can
changed by setting the "PINTO_DIFF_STYLE" environment variable
to your preferred STYLE. This variable affects the default style for diff
reports generated by all other commands too.
- --dry-run
- Go through all the motions, but do not actually commit any
changes to the repository. At the conclusion, a diff showing the changes
that would have been made will be displayed. Use this option to see how
upgrades would potentially impact the stack.
- --force
- Forcibly unpin any packages that require updating. The pins
will not be restored after a succesful update.
- --no-fail
- !! THIS OPTION IS EXPERIMENTAL !!
Normally, failure to pull a target (or its prerequisites) causes the command
to immediately abort and rollback the changes to the repository. But if C
<--no-fail> is set, then only the changes caused by the failed
target (and its prerequisites) will be rolled back and the command will
continue processing the remaining targets.
This option is useful if you want to throw a list of targets 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.
- --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 "PINTO_EDITOR"
or "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.
- --pin
- Pins the packages to the stack, so they cannot be changed
until you unpin them. Only the packages in the requested targets will be
pinned -- packages in prerequisites will not be pinned. However, you may
pin them separately with the pin command if you so desire.
- --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".
- --roots
- Updates the root distributions of the stack. We do not
attempt to update locally added distributions unless "--force"
is used. If this option is used, then package names cannot be given as
command arguments. See also the "--all" option.
- --skip-missing-prerequisite=PACKAGE
- -k PACKAGE
- !! THIS OPTION IS EXPERIMENTAL !!
Skip any prerequisite with name PACKAGE if a satisfactory version cannot be
found. However, a warning will be given whenever this occurrs. This option
only has effect when recursively fetching prerequisites for the targets
(See also the "--recurse" option). This option can be
repeated.
- --skip-all-missing-prerequisites
- -K
- !! THIS OPTION IS EXPERIMENTAL !!
Skips all missing prerequisites if a satisfactory version cannot be found.
However, a warning will be given whenever this occurrs. This option will
silently override the "--skip-missing-prerequisite" option and
only has effect when recursively fetching prerequisites for the targets
(See also the "--recurse" option).
- --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.
Jeffrey Ryan Thalhammer <
[email protected]>
This software is copyright (c) 2015 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.