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


version 0.02


In your dist.ini:

    ;subdir = url                                       revision
    simile =   1870

    blah =


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:

    simile =

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:

    jquery =
    simile =  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.


Jonathan Scott Duff <>


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.