Login | Register
My pages Projects Community openCollabNet

svnbundle
Project home

If you were registered and logged in, you could join this project.

Summary Allows more flexible bundling of subversion repositories.
Categories scm, deployment
License Apache License
Owner(s) ralfa

overview

svn_bundle makes the access to linked subversion repositories - via svn:externals - more flexible. It also provides useful scripts to ease deployment of bundled source or library packages made amongst others by linked/external subversion repositories.

A convenient access of 'local' repositories in a multi-operating system environment is provided by subversion with the ra_local access plugin, but normally changes to svn:external properties are only consistent, if made only from one operating system. The extension in svn_bundle is beneficial if you wants to share various source projects or libraries in a team that is working in a heterogenous network environment on the basis of file services, i.e. if you need or want to use ra_local connections (e.g. because this approach may ease rights management).

how this works

A substitute property for svn:externals is introduced (e.g. called local:externals) and gets versioned instead of in a bundle repository. The idea is to store only this property without OS dependant parts of a shared path, e.g. 'REPOSPATH/repos1'. Otherwise you would get new revisions just by switching external paths.

The program svnprop (actually python code, which uses pysvn) sets svn:externals from the template (local:externals) for update actions with the OS-specific part (e.g. 'file:///n:/repos1', 'file:///smbserver/share/repos1', or 'file:///media/nfs/repos1') on the basis of configuration files (uses PyYAML).

Hook scripts for the subversion bundle reposistory and user scripts are currently provided for linux (bash) and windows (cmd). They ensure a consistent and easy operation.

what's missing or evolving

Some items are planned, or are currently not fully working:
  • Extensions of svnprop and related convenience scripts for usage and administration.
  • The automatic creation of a customized bundle by a make tool is planned.

related projects

  • Piston is described as 'Remote Repository Copying' or 'Easy Vendor Branch Management'.