Re: Mirroring synchrona.org E repository

Thomas Leonard <tal-v5nx5w6akNyLE8xUarVfuPLx9OUvmyODWmv/[email protected]>
Newsgroups gmane.comp.lang.e.general
Organization IT Innovation
Message-ID <[email protected]>
How about setting up a git-svn mirror? Then anyone getting the code
through GIT will get the complete history automatically. For example, my
repository (http://gitorious.org/repo-roscidus/e-core) contains the E
history up to the point where I branched it (but I haven't set it to
update automatically).

You can create a clone from the svn using:

$ git svn clone svn://svn.synchrona.org/erights/e --stdlayout

This clone also includes all branches and tags, although it appears the
E has only one branch besides trunk and no tags.

To update it:

$ git svn fetch

The complete repository clone in GIT is 37M, although it could be shrunk
considerably by removing the large jars from the history.


On Wed, 2010-01-20 at 21:21 -0500, Kevin Reid wrote:
> We ought to have backups of the main E repository. I have just added  
> it to my personal svn-mirror setup, so that I have a personal copy. I  
> recommend that MarkM and anyone else interested do so as well.
> 
> Here are the steps I took to do it (adjust paths as appropriate):
> 
> cwd for me was: /External/Repositories/public-mirrors/
> 
> $ svnadmin create erights-e
> $ cd erights-e/hooks
> $ ln -s ../../_common/{pre-revprop-change,start-commit} ./
> $ svnsync initialize \
>    file:///External/Repositories/public-mirrors/erights-e/ \
>    svn://svn.synchrona.org/erights/ \
>    --sync-username svnsync
> $ svnadmin setuuid \
>    /External/Repositories/public-mirrors/erights-e/ \
>    `svn info svn://svn.synchrona.org/erights/ \
>      | perl -ne 'print $1 if /^Repository UUID: (.*)$/'`
> 
> The pre-revprop-change and start-commit hooks installed are:
> The start-commit hook helps ensure the mirror is not accidentally  
> committed to, which invalidates it as a mirror for all time; the pre- 
> revprop-change hook permits svnsync to copy the revision properties  
> (e.g. commit author, commit time) which may not be controlled by an  
> ordinary commit.
> 
> The mirror may then be updated by:
> 
> $ svnsync synchronize \
>    file:///External/Repositories/public-mirrors/erights-e/ \
>    --sync-username svnsync
> 
> On a longer schedule, this command should be run, or revprops copied  
> on an as-needed basis in the event that we announce a change (revprops  
> are unversioned and so svnsync can't automatically detect changes  
> anywhere in the repository; this command just scans everything, i.e.  
> is O(n)).
> 
> $ svnsync copy-revprops \
>    file:///External/Repositories/public-mirrors/erights-e/ \
>    1:HEAD --sync-username svnsync
> 
> _______________________________________________
> e-lang mailing list
> [email protected]
> http://www.eros-os.org/mailman/listinfo/e-lang


-- 
Dr Thomas Leonard
IT Innovation Centre
2 Venture Road
Southampton
Hampshire SO16 7NP

Tel: +44 0 23 8076 0834
Fax: +44 0 23 8076 0833
mailto:tal-v5nx5w6akNyLE8xUarVfuPLx9OUvmyODWmv/[email protected]
http://www.it-innovation.soton.ac.uk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.