Name
Module::Provision::TraitFor::VCS - Version Control
Synopsis
use Module::Provision::TraitFor::VCS;
# Brief but working code examples
Description
Interface to Version Control Systems
Configuration and Environment
Modifies "dist_post_hook" in Module::Provision::TraitFor::CreatingDistributions where it initialises the VCS, ignore meta files and resets the revision number file
Modifies "substitute_version" in Module::Provision::TraitFor::UpdatingContent where it resets the Revision keyword values
Modifies "update_version_pre_hook" in Module::Provision::TraitFor::UpdatingContent where it prompts for version numbers and creates tagged releases
Modifies "update_version_post_hook" in Module::Provision::TraitFor::UpdatingContent where it resets the revision number file
Requires these attributes to be defined in the consuming class; appldir
, distname
, vcs
Defines the following command line options;
no_auto_rev
-
Do not turn on automatic Revision keyword expansion. Defaults to
FALSE
Subroutines/Methods
add_hooks - Adds and re-adds any hooks used in the VCS
$exit_code = $self->add_hooks;
Returns the exit code
add_to_vcs
$self->add_to_vcs( $target, $type );
Add the target file to the VCS
get_emacs_state_file_path
$io_object = $self->get_emacs_state_file_path( $file_name );
Returns the File::DataClass::IO object for the path to the Emacs editor's state file
release - Update version, commit and tag
$exit_code = $self->release;
Calls "release_distribution". Will optionally install the distribution on a test server, upload the distribution to CPAN and push the repository to the origin
release_distribution
Updates the distribution version, regenerates the metadata, commits the change and tags the new release
set_branch - Set the VCS branch name
$exit_code = $self->set_branch;
Sets the current branch to the value supplied on the command line
Diagnostics
None
Dependencies
Incompatibilities
There are no known incompatibilities in this module
Bugs and Limitations
There are no known bugs in this module. Please report problems to the address below. Patches are welcome
Acknowledgements
Larry Wall - For the Perl programming language
Author
Peter Flanigan, <pjfl@cpan.org>
License and Copyright
Copyright (c) 2017 Peter Flanigan. All rights reserved
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic
This program is distributed in the hope that it will be useful, but WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE