You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Bruno Gustavs <bg...@yahoo.de> on 2005/09/15 12:09:19 UTC

Proposal: Light weight checkout for shadow copies

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

Re: Proposal: Light weight checkout for shadow copies

Posted by Vincent Starre <vs...@comcast.net>.
While I do somewhat agree (I do have the exact same situation), I might 
also point out that this is what rsync is for :)
I havent implimented this, but what I am planning on doing is:
1) nightly delete+export locally, on the server containing the 
repository, to an rsync directory
2) running an rsync -u on the server I need those files for

Bruno Gustavs wrote:

>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
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org