NAME

Dist::Zilla::Plugin::SvnObtain - obtain files from a subversion repository before building a distribution

VERSION

version 0.02

SYNOPSIS

In your dist.ini:

[SvnObtain]
  ;subdir = url                                       revision
  simile = http://simile-widgets.googlecode.com/svn   1870

[SvnObtain/path/to/some/other/dir]
  blah = http://svn.example.com/repos/my-project

DESCRIPTION

Uses SVN::Client to obtain files from a subversion repository for inclusion in a distribution made with Dist::Zilla.

[SvnObtain] sections in your dist.ini file describe a set of Subversion repositories that will be downloaded into the current directory prior to building a distribution. Subdirectories will be created that correspond to the name of the projects listed in that section. Optionally, after the URL of the subversion repository, you may specify a particular revision to check out. If you do not specify a revision, HEAD will be used. For instance, to include a copy MIT's simile timeline widget into your distribution, your dist.ini would contain something like this:

[SvnObtain]
  simile = http://simile-widgets.googlecode.com/svn

This would create a subdirectory called simile in the current directory that contains the HEAD revision.

If you do not wish the project directories to be created in the current directory, you may specify a path relative to the current directory as part of the section name. For instance, to checkout subversion repositories into a subdirectory called libs/javascript, the section name would look like this:

[SvnObtain/libs/javascript]
  jquery = http://jqueryjs.googlecode.com/svn/trunk
  simile = http://simile-widgets.googlecode.com/svn  2100

If the directory libs/javascript does not exist, each component of the path will be created as necessary. Once the directory libs/javascript exists, project directories will be created within it for jquery and simile. The jquery checkout will be at the HEAD revision and the simile checkout will be at revision 2100.

If a directory already exists with the same name as the project directory, Dist::Zilla::Plugin::SvnObtain will attempt to re-use the directory if it contains a working copy of a subversion repository that is the same URL as the one specified for that project directory within dist.ini. If the directory is not a subversion working copy or the URL is different, Dist::Zilla::Plugin::SvnObtain will cause Dist::Zilla to exit with an appropriate error message.

AUTHOR

Jonathan Scott Duff <duff@pobox.com>

COPYRIGHT

This software is copyright (c) 2010 by Jonathan Scott Duff

This is free sofware; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language itself.