[e-lang] Mirroring synchrona.org E repository
Thomas Leonard
tal at it-innovation.soton.ac.uk
Thu Jan 21 01:51:28 PST 2010
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
> e-lang at mail.eros-os.org
> 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 at it-innovation.soton.ac.uk
http://www.it-innovation.soton.ac.uk
More information about the e-lang
mailing list