[crux-devel] Proposed git->rsync script updates
tilman at crux.nu
Fri Oct 3 11:36:40 UTC 2008
some months ago, I was frustrated with our git_to_httpup script.
That script is run every 5 minutes and exports our ports repositories'
contents to ~crux/git-to-rsync-working-copy directory structure.
Which looks like this:
It annoys me that we're exporting *everything* every 5 minutes.
I'd prefer if we exported only those repositories that changed, *when*
they change, i.e. when some commit is pushed to the repository.
This means we'd have to adjust the script that does the exporting.
I suggest to make use of git's post-update hook there. That hook would
run as the user who does the push, so the httpup area has to be writable
by that user. Long story cut short, here's the new directory hierarchy:
|---core (owned by core)
|---opt (owned by opt)
Since we'd switch from "crux-2.4/core" style directories to "core/2.4"
or something, we'd have to adjust our *.rsync files. Also we'd need to
keep the old rsync area alive for users who are still running old CRUX
Advantages: o Updated ports are rsync-able after a very short time and not
just after up to 5 minutes.
o No more disk thrashing just because another 5 minutes went
by even though there was no git activity.
Disadvantages: o We'd have to adjust the *.rsync files. Would be doable
with the CRUX release (2.5)
o The branches that should be exported are currently set
in each separate post-update hook, so once a new CRUX
version is released, you need to touch
Opinions? Should we do that switch? I've already written the necessary
shell code, it just needs to be put in some separate function that can
be sourced from the various hooks.
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
Q: What is the most annoying thing on usenet and in e-mail?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 197 bytes
Desc: not available
More information about the crux-devel