cvs 1.12 has a few useful features 1.11 doesn't have that the few remaining people using cvs would like to be able to use (being able to diff on a date range on a branch is one of them).
We've been running a custom-compiled version of 1.11 that was patched to not do any read locking on cvs-mirror since it was a read-only repository. 1.12 already contains this feature (though with a different command-line switch) and so will not require any patches to work (but we will have to recompile our pseudo-shell to use the new command-line switch to call it).
Turns out the pseudo-shell was included in the custom package we built, so I rebuilt with that change to it included.
RPM is on im-pkgdev02.
Probably need to schedule an outage window for this just as a heads-up to people in case anything happens.
Should be no visible downtime with 10 minutes or less to revert if anything ends up broken.
*MAY* require a tree closure, but that depends on what's actually still using CVS at all.
Nothing production should be using the mirror... If there is anything left that uses CVS, I would think it would be using cvs.mozilla.org directly, no?
NSS and NSPR still use Mozilla's CVS repository as their upstream repository.
The copies in Mozilla's Hg repo are considered downstream.
This would cover cvs.mozilla.org as well, not just the mirrors.
Can someone confirm if this is a tree closure event?
I don't think we need downtime for this, as far as I can tell. Besides release automation, I can't find any part of a production releng system that depends on CVS. The next scheduled releases start on Monday/Tuesday, so doing this then would be bad, but any other time should be fine from our standpoint.
You just need to announce in the mozilla.dev.tech.nspr and
mozilla.dev.tech.crypto newsgroup to notify the NSPR and
NSS developers and users of the scheduled downtime of
cvs.mozilla.org and cvs-mirror.
This is done. cvs.mozilla.org was updated within 5 minutes of the begining of the downtime window. cvs-mirror just completed just now. Wasn't so worried about that because of the redundancy (swapped them out on the load balancer while playing). I can't get the new -R mode to work in the new CVS. It spews lots of nasty warnings that the clients can't deal with, or if you shut it up with -Q it just doesn't work? Not many people are using cvs anymore so we probably don't really need the perf boost it would buy us anyway, so I just disabled the read-only stuff, and it seems to work great without it, as far as I can tell.
All three servers are now reporting:
Server: Concurrent Versions System (CVS) 1.12.13 (client/server)
OK, I reverted cvs-mirror back to 1.11.22. We're getting permission errors trying to create locks and I don't have the energy to chase that down right now (I suspect anything we can do on that front will get screwed by the rsync anyway).
This needs some more thought, preferably by someone that doesn't mind hacking on CVS.
cvs.mozilla.org had issues, as well (see bug 628913) and has been reverted.
Are we still planning on doing this?
Removing the needs-treeclosure flag until we need to schedule this.
It's going to need some debugging work done with it that I don't have time to do in the immediate future. Might revisit in a week or so if I get caught up on everything else on my plate.
CVS is slated to die, so wontfixing.