(Apologies in advance if I've written something nonsensical. I'm at home with a cold, and the neurons aren't all firing at 100%...)
>>>>> "Jim" == James Carlson <james.d.carlson at Sun.COM> writes: Jim> The risk that I see on the other side of this is that if we "go Jim> live" with an hg gate without having provided some reasonable way Jim> for project teams to try their hands at real hg-based integrations Jim> first, we'll be faced with two problems: Jim> - We'll have nearly zero experience in the organization in dealing Jim> with the procedure. People seem to have a difficult time today Jim> with teamware putback (often doing it from the wrong machine), and Jim> adding a whole new tool change is likely to result in having our Jim> group answering a lot of questions rather suddenly. Well, the original plan was to recruit a few people in each geo to help answer questions. I don't know the status of that; Bonnie might. Jim> - We'll be providing existing project teams -- even those that Jim> start on day T-1 -- with no reason to bother with Mercurial, Jim> because (from their perspective) there's no guarantee they'd ever Jim> be able to integrate from an hg-based workspace. I thought about providing a backwards bridge (hg2wx or some such thing) but haven't done anything about implementation. Jim> It's a big change, and we're going to make mistakes, project teams Jim> are going to make them, and the gatekeepers probably will as well. Jim> That all argues (at least to me) in favor of finding incremental Jim> steps where we can. I agree that incremental steps are good. I'm just not convinced that allowing both Teamware and Mercurial putbacks at the same time is the right incremental step. ;-) Jim> I think we'll do better if we offer a means for at least a few Jim> willing folks to convert early, and better still if we can offer an Jim> incentive (in the form of lower risk and maybe public kudos) for Jim> projects to do so. Mike> I don't know that we can offer much in the way of lower risk. Mike> Projects already can use Teamware until the last minute and then Mike> convert to Mercurial with wx2hg. That seems pretty low-risk to me. Jim> I guess I'm expecting more ETOOHARD than you are. :-> Given a choice between doing development work in Mercurial and switching at the last minute using an automated script, I expect most project teams would find the 1st choice more of a risk, though I suppose I could be wrong. Jim> ... but as a downside risk, those projects choosing to convert over Jim> (the "early adopters") are now dependent on us meeting out schedule Jim> for a full conversion of the gate. If we miss, then they're Jim> blocked out of the gate for as long as we miss. Which is why we'd want to have hg2wx. Mike> The code to update the sync gate might be subtle. I don't think we Mike> want to just do a simple bringover, as that will be slow. If we Mike> update the sync gate via putback notifications from onnv-gate, I'd be Mike> worried about races. Another option might be to use Bonwick's "rp" Mike> script to restrict the file list for the bringover. Jim> Syncing only the files involved in the putback makes sense to me. Jim> Even if it were "slow," I think that'd be mostly fine. The idea is Jim> to provide a viable path for those early adopters, not necessarily Jim> a perfect one. That depends on how bad "slow" is. If it blocks other developers for more than a few minutes, we will be causing a lot of irritation. Mike> Automatic lock removal needs to be considered very carefully. [...] Jim> There are two independent scripts that run, and I'm covering for Jim> the case where the second script _never_ runs because the 'push' Jim> was interrupted. The automatic lock removal doesn't look so Jim> difficult to me -- you terminate your timer on the second script Jim> invocation and, if you've already lost your lock (which should just Jim> never happen), you fail out. I'll need to think about this some more when I'm less fuzzy-brained. What manual lock removal has meant for the current bridge is that when there's a problem, it doesn't get compounded by subsequent putbacks that pile on top of the broken one. That's a property I'd like to see preserved in any automated reverse bridge. Jim> As for not making it, I think I'd rather see us be a little more Jim> flexible about what gets delivered and when. Looking at the plans Jim> so far, it seems that we're shooting for having zero regressions on Jim> day one. Yes. Jim> That's admirable, but it's also true that we lived for many years Jim> without fancy tools such as 'wx', and if we had to limp along for a Jim> month or two with manual work-arounds for doing things like Jim> collapsing deltas^Wchangesets because the extensions aren't fully Jim> tested, I'd prefer that to slipping the date further and further Jim> out. I'm certainly willing to consider dropping various features on a case-by-case basis. But I'd want to take a close look at the tradeoffs. Saying we'll just resort to manual methods is too hand-wavey for me. mike