View on
Peter Flanigan > Module-Provision > Module::Provision::TraitFor::VCS



Annotate this POD



Open  0
View/Report Bugs
Module Version: v0.42.1   Source  

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;


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


   $self->add_to_vcs( $target, $type );

Add the target file to the VCS


   $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


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 ^


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

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

syntax highlighting: