[e-lang] Mirroring synchrona.org E repository
Kevin Reid
kpreid at mac.com
Wed Jan 20 18:21:14 PST 2010
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:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pre-revprop-change
Type: application/octet-stream
Size: 138 bytes
Desc: not available
Url : http://www.eros-os.org/pipermail/e-lang/attachments/20100120/3677124c/attachment.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: start-commit
Type: application/octet-stream
Size: 132 bytes
Desc: not available
Url : http://www.eros-os.org/pipermail/e-lang/attachments/20100120/3677124c/attachment-0001.obj
-------------- next part --------------
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
--
Kevin Reid <http://switchb.org/kpreid/>
More information about the e-lang
mailing list