[clc-devel] Making the switch to svn
jukka at karsikkopuu.net
Sun Nov 27 20:11:22 UTC 2005
Johannes Winkelmann wrote:
>On Sat, Nov 26, 2005 at 17:09:58 +0100, Simone Rota wrote:
>>I'd be more than happy also with a simple solution
>>like making the crux.nu server update the
>>svn repo to a local dir every, say, 5 minutes
>>and serve that dir via rsync (almost the same
>>as with contrib-test).
>Sounds fine with me too; especially if we'll have mirrors of the ports
>tree in the future, users will have to get used to small delays anyway.
>Therefore, if the others agree I'd suggest we go for this solution.
I agree, using rsync is a simple and lightweight solution. I think we
could even have instant rsync updates if we updated the svn repo to a
local dir using a post-commit hook in subversion.
>I'd be happy though if we could add a wrapper to track synced files, so
>get rid of the EXCLUDE hack; for now, that should be okay.
I wrote an experimental ports driver which does just that (written in
perl, but that should be fine since it's included in base). Have a look
at: http://www.karsikkopuu.net/crux/misc/rsync. I haven't tested it
extensively, but it's working fine so far. It uses a ".checkouts" file
in the rsync ports tree to track synced files which must be generated by
the repository maintainer every time a change is made, pretty much like
httpup-repgen. The command used is:
$ find . -depth -not -name . -not -name .checkouts -printf "%P\n" >
Maybe we could add rsync-repgen to the rsync port is this solution
proves worthy of using? Anyway, let me know what you think.
More information about the crux-devel