Pinto::Store::Svn - Store your Pinto repository with Subversion
version 0.015
Add this to your Pinto configuration (usually in ~/.pinto/config.ini):
; other global params up here... store = Pinto::Store::Svn [Pinto::Store::Svn] ; Required. URL of repository location where the mainline version will live trunk = http://my-repository/trunk/PINTO ; Optional. URL of location where trunk will be copied tag = http://my-repository/tags/PINTO-%Y%m%d.%H%M%S
And then run pinto as you normally would.
Pinto::Store::Svn is a back-end for Pinto that stores the repository inside Subversion.
These configuration parameters are in addition to those provided by Pinto. All configuration parameters should go in your pinto config file, which is usually located in ~/.pinto/config.ini.
(Required) The URL to the location in Subversion where you want the trunk (i.e. mainline) branch of your Pinto repository. If this location does not exist, it will be created for you. Each time you run pinto, the changes to your repository will be committed to this branch.
(Optional) The URL of the location in your Subversion repository where you want to create a tag of the CPAN mirror. When pinto commits changes to the trunk, that URL will be tagged (i.e. copied) to the tag. If you do not specify tag then no tag is made.
trunk
tag
In most situations, you'll want to keep multiple tags that represent the state of CPAN at a various points in time. The typical practice is to put a date stamp in the name of your tag. Therefore, you can embed any of the Date::Format conversion specifications in your URL and they will be expanded when the tag is constructed.
For example, if you had this in your ~/.pinto/config.ini:
tag = http://my-company/svn/tags/PINTO-%y.%m.%d
and ran pinto mirror on June 17, 2011, then it would produce a tag at this URL:
pinto mirror
http://my-company/svn/tags/PINTO-11.06.17
Be sure to choose a date stamp with sufficient resolution for your needs. If you are only going to run pinto once a month, then you probably only need a year and month to distinguish your tag. But if you are going to run it several times a day, then you'll need day, hours and minutes (and possibly seconds) too.
And if you don't put any date stamp in your tag at all, then you're basically limited to running pinto only once, because you can't make the same tag more than once (unless you remove the previous tag by some other means).
svn
At present, you must have the binary svn client installed somewhere in your $PATH for this module to work. In future versions, we may try using SVN::Client or some other interface.
$PATH
All authentication is handled by the svn client. So you must have the credentials for your repository already cached. If you cannot or will not allow svn to cache your credentials, then this module will not work.
This may fool Pinto into making an inaccurate mirror because it thinks your local copy is newer than the mirror. As long as you don't throw away your working copy, you shouldn't run into this problem. But I have a workaround planned for a future release.
Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>
This software is copyright (c) 2011 by Imaginative Software Systems.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Pinto, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Pinto
CPAN shell
perl -MCPAN -e shell install Pinto
For more information on module installation, please visit the detailed CPAN module installation guide.