[M3devel] making cvs checkout/update more robust in tinderbox (and maybe Hudson)
Jay K
jay.krell at cornell.edu
Mon Jul 27 13:28:54 CEST 2009
CVS checkout and update of an entire tree seem to be extremely unreliable.
It takes a while and often times out.
I don't have time to do this right now, I think the cvs update/checkout should go like this:
if directory doesn't exist:
checkout with -l
if directory does exist (it always will now actually, this if can go, except to error if it doesn't exist)
cd into it
upd -l various hardcoded directories, m3-sys scripts m3-ui m3-libs www doc
This list need not be complete and it may contain directories that don't exist.
for each directory cvs -z3 upd -dAP that directory
notice that after the first one, the directory list will be correct
Possibly do it like m3-sys m3-sys/m3cc m3-sys/m3gdb m3-libs m3-libs/m3core m3-libs/libm3
to breakdown some of the larger ones.
and then one cvs -z3 upd -dAP at the root
check return code of just that line one, if failed, wait five minutes try again, if failed, fail
I plan to implement this and I'd /prefer/ to use Python.
If nobody else wants it, I'll turn it off by default.
Even just leaving the workspace aorund doesn't seem to solve the problem.
I'd also be curious about -z1 vs. -z3.
I usually use -z3. That's what some documentation recommended.
- Jay
More information about the M3devel
mailing list