Requirement
-----------
Sometimes it is very handy to have a shadow copy of the last commited
or released version on a file server for simple access.
There exist unversioned files e.g. 3rd party software that should coexist
on the shadow directory.
Current Solutions
-----------------
To create and update a shadow copy of a repository folder there are mainly
three possibilities:
1) Export
Init: Export directory from repository.
Update: Remove old shadow directory, export directory from repository.
Advantage: No overhead
Drawback: Takes some time.
Versioned and unversioned files cannot coexist on the shadow.
There are problems with locked files.
2) Working Copy
Init: Checkout directory from repository.
Update: Update shadow working copy (e.g. from post-commit script)
Advantage: Easy to implement
Differential update, i.e. fast
Drawback: Overhead in disk space (factor 2 or more)
Users can use shadow as working copy which leads to
unpredictable results on network shares.
3) Update Script
Write a script to parse the output of 'svnlook -r <rev> changed' and
update the required files only. Such a script has been published by
Nathaniel Case on 2005-06-01.
Advantage: No overhead
Differential update, i.e. fast
Unversioned files can coexist in shadow directory.
Drawback: Rewrite svn co functionality in script
Proposal
--------
Provide a lightweight checkout command that works like checkout
except:
- There is no copy of the base version in the .svn directory.
- The working copy is readonly.
- Modifying such a working copy is prevented by all svn commands.
Advantage: No overhead (except some accounting information)
Differential updates, i.e. fast
Unversioned and versioned files can coexist.
Reuse of existing Subversion code.
Looking forward for comments!
Best Regards
Bruno
---------------------------------
Gesendet von Yahoo! Mail - Jetzt mit 1GB kostenlosem Speicher
Received on Thu Sep 15 14:11:55 2005