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