[clc-devel] Making the switch to svn

Jukka Heino jukka at karsikkopuu.net
Sun Nov 27 20:11:22 UTC 2005


Johannes Winkelmann wrote:

>Hi,
>
>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" > 
.checkouts

Maybe we could add rsync-repgen to the rsync port is this solution 
proves worthy of using? Anyway, let me know what you think.

// Jukka



More information about the crux-devel mailing list