package App::Pinto::Command::unpin;
# ABSTRACT: free packages that have been pinned
use strict;
use warnings;
#------------------------------------------------------------------------------
use base 'App::Pinto::Command';
#------------------------------------------------------------------------------
our $VERSION = '0.088'; # VERSION
#-----------------------------------------------------------------------------
sub opt_spec {
my ( $self, $app ) = @_;
return (
[ 'dry-run' => 'Do not commit any changes' ],
[ 'message|m=s' => 'Message to describe the change' ],
[ 'stack|s=s' => 'Unpin targets from this stack' ],
[ 'use-default-message|M' => 'Use the generated message' ],
);
}
#------------------------------------------------------------------------------
sub args_attribute { return 'targets' }
#------------------------------------------------------------------------------
sub args_from_stdin { return 1 }
#------------------------------------------------------------------------------
1;
__END__
=pod
=for :stopwords Jeffrey Ryan Thalhammer BenRifkah Voss Jeff Karen Etheridge Michael G.
Schwern Bergsten-Buret Oleg Gashev Steffen Schwigon Tommy Stanton Wolfgang
Kinkeldei Yanick Champoux Boris hesco Däppen Cory G Watson Glenn Fowler
Jakob
=head1 NAME
App::Pinto::Command::unpin - free packages that have been pinned
=head1 VERSION
version 0.088
=head1 SYNOPSIS
pinto --root=REPOSITORY_ROOT unpin [OPTIONS] TARGET ...
=head1 DESCRIPTION
This command unpins package in the stack, so that the stack can be
merged into another stack with a newer packages, or so the packages
can be upgraded to a newer version within this stack.
=head1 COMMAND ARGUMENTS
Arguments are the targets you wish to unpin. Targets can be
specified as packages or distributions, such as:
Some::Package
Some::Other::Package
AUTHOR/Some-Dist-1.2.tar.gz
AUTHOR/Some-Other-Dist-1.3.zip
When unpinning a distribution, all the packages in that distribution
become unpinned. Likewise when unpinning a package, all its sister
packages in the same distribution also become unpinned.
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.
=head1 COMMAND OPTIONS
=over 4
=item --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.
=item --message=TEXT
=item -m TEXT
Use TEXT as the revision history log message. If you do not use the
C<--message> option or the C<--use-default-message> option, then you
will be prompted to enter the message via your text editor. Use the
C<EDITOR> or C<VISUAL> environment variables to control which editor
is used. A log message is not required whenever the C<--dry-run>
option is set, or if the action did not yield any changes to the
repository.
=item --stack=NAME
Unpins the package on the stack with the given NAME. Defaults to the
name of whichever stack is currently marked as the default stack. Use
the L<stacks|App::Pinto::Command::stacks> command to see your
stacks.
=item --use-default-message
=item -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 C<--message>,
the C<--use-default-message> option will be silently ignored.
=back
=head1 AUTHOR
Jeffrey Ryan Thalhammer <jeff@stratopan.com>
=head1 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.
=cut