I just finished going over the lists in Bugzilla (bugs.grommit.com) and Bugster. Stephen and a couple other senior engineers are particularly interested in what needs to be fixed before we can think about moving SFW, so my comments are biased in that direction. There appear to be several clumps of bugs:
- Mercurial Issues - gpyfm - Recommit - Checks and Gate Hooks - Incremental Merge - Webrev - SCCS Keywords - Old Style, Copyright, etc Issues - Miscellaneous so I've organized my comments along those lines. Bugs tagged with "#" do not have an owner. The bugs in Bugster are all marked with the "hg_trans" keyword. * Mercurial Issues There are several bugs fixed in 0.9.5, plus there are other issues that are stalled waiting for 0.9.5. Rich and Danek hooked up over IRC on Friday, and it looked like they will be moving forward on getting 0.9.5 into SFW, after Danek finishes up with p7zip. Rich mentioned that changing to 0.9.5 may cause some problems for the Xen folks, but I'm still a little unclear on the details. I'm hoping it just means they need to use matching versions of Cadmium and Mercurial. Cadmium will issue a warning if detects a version of Mercurial that it's not sure about. The bug for the Cadmium changes is 281 P3 cdm needs to be updated to work under Mercurial 0.9.5 We'll be able to mark these issues as resolved once 0.9.5 is in place: 283# P1 Mercurial issue 612: "rename of a directory with built ob... 354# P1 mercurial issue762: git format diffs are confused by sour... 246# P2 Mercurial issue 222: [extensions] in a repo's .hg/hgrc fi... 301# P2 Mercurial issue 636: merge may use the wrong file content... 272# P3 Mercurial Issue 589: "undelete" sequence leads to crash 242# P3 Mercurial issue 455: Mismerge involving two concurrently ... 243# P3 Mercurial issue 498: unreliable tag computation when tags... 325# P3 Mercurial issue 672: hg merge doesn't find renames after ... 252# P3 Mercurial issue 522: hg st of a merge changeset shows pha... 323# P3 Mercurial issue 650: Unmodified file considered modified 249# P3 Mercurial issue 269: hg mv should handle newly added files Until then, you can filter them out of the bug list by telling Bugzilla to ignore bugs with the "fixesupstream" keyword. This leaves 6 unresolved Mercurial issues. The first 3 involve the possibility of repo corruption: 241# P3 Mercurial issue132: hg should revalidate its data after l... 244# P3 Mercurial issue199: detect corrupted dirstate 251# P3 Mercurial issue 413: hg add mishandles subprojects 241 is marked as "in-progress", the other 2 are still being discussed (status "chatting"). 251 is not relevant to SFW. 241 and 244 are relevant but relatively unlikely to be triggered. The next 2 are both marked "chatting". 248# P3 Mercurial issue 122: commit succeeds if merge fails 324# P3 Mercurial issue 664: hg process may exit with an apparent... Bug 248 is P3 because it makes mismerges easier. See "Incremental Merge" below. Bug 324 is P3 because of the risk that our tools will misbehave, particularly on large putbacks. If we want these 5 issues fixed any time soon, we will probably need to work on them, particularly the ones that are marked "chatting". The last Mercurial bug is 347 P1 recommit can strip local changes in such a way as to corr... which is Mercurial issue 764, which has status "chatting". I'm not sure we need to spend time on this--it may go away when we switch to Rich's new recommit code (see "Recommit" below). * gpyfm There is at least one serious gpyfm bug that we need to fix, unless we expect people to use filemerge for graphical merges: 271 P1 gpyfm gets seriously confused by merges of near identical... There are a couple issues with gpyfm's user interface: 203 P3 gpyfm should ignore identical changes in parent and child 346# P3 multiple Accept&Next clicks don't work I'm not sure 203 needs to be P3. I think gpyfm handles identical changes correctly if you click on the merge button. But it does make it more tedious if you walk through the conflicts one at a time. There's also a gpyfm performance issue: 238 P2 gpyfm's responsiveness decreases as file size increases This bug appears to be mostly a user feedback issue--there's no indication (e.g., hourglass cursor) that the tools is busy. I question why it's a P2: the bug indicates a 1-2 second delay for a 28K-line file. I don't think 1-2 seconds is unmanageable, and I've found few files in ON that are larger (counting number of lines). P4 may be more appropriate. OTOH, this could also be the root cause of 346 (above), which has delays significantly longer than 1-2 seconds. * Recommit The current recommit code has some bugs, and my understanding is that it's a big complicated and hard to get right. It also tickles a bug in Mercurial (see bug #347 above). Rich has a simpler reimplementation in mind that should be more reliable. 333 P1 cdm managed to turn a rename into a copy 356 P3 cdm recommit needs to cope with the tags it may be trashing 368 P3 hg recommit with no actual changes confuses the mortals 377 P3 cdm should not allow you to putback a null changeset. The fix for 333 is the reimplementation. 356 will still need to be addressed, even under the new implementation. I think 368 and 377 will still be needed, too. Rich has fixes for 368 and 377 in code revew. There's one more bug that is related to recommit: 259 P3 cdm needs a 'wx reset' equivalent. I think all of these bugs (356, 368, 377, and 259) are high P3s. That is, if we don't fix them for SFW, we'll definitely want to document them. * Checks and Gate Hooks These two do not appear to be interesting for SFW: 303 P3 cdm needs .NOT file equivalents 373 P3 308 didn't do enough for pbchk and nits I'm expecting that SFW may want RTI enforcement as well as sanity-checking the permissions on a file. So these bugs are all relevant to SFW: 352# P2 Need gate-side hooks to replace the gate pbcheck. 261 P2 Need a permchk (Permissions Check) check module 306 P3 cdm should whine at people about checks as early as is se... 369# P3 cadmium check output is garbled with -q 370# P3 RTI checks should tell me I can't connect, or otherwise f... If we don't fix 370 for SFW, we'll want to document it. And there are a couple checks I expect every gate will want: 355# P3 scm hooks should prevent the creation of new tags or bran... 351# P2 gate automation/gk tools need to understand mercurial. 355 probably ought to be P2. I couldn't find a bugzilla login for Ken, so 351 and 352 are currently marked unowned. But I believe they're both his. There's also a bug in the existing gate checks that is relevant to SFW: 6598784# P3 pushing to locked repositories should result in sane error[...] If we don't fix it for SFW, we'll want to document it. * Incremental Merge The primary Mercurial merge model is that you merge all conflicts in one session. This will be a problem for large merges, particularly ones where it's not feasible for a project gatekeeper to do all the merges. 269# P2 support for interrupting a merge session We haven't decided how to handle this issue. There's an extension called IMerge that was created when we pointed out this problem on the Mercurial project list. It seems to be usable, though not ideal. (Of course, we can always work with IMerge's author to get it more to our liking.) Another option would be to rely on hgr. 309 P3 integrate dep's hgr (text mode 'resolve'-like merge tool) One concern that we have about both approaches is how to make accidental mismerges hard. I think we need some sort of incremental merge capability for SFW. I don't think protection against accidental mismerges is a stopper for SFW. * Webrev These do not appear to be stoppers for SFW: 374 P3 setting CODEMGR_WS confuses webrev 372 P3 webrev does not display executable bit change 326 P3 webrev could shake off its wx heritage There's also a bug in Bugster: 6446689 P3 webrev(1) needs Mercurial support I don't know whether it's redundant. I'll ping the RE (Darren Moffat) about it. This one is fixed in our current workspace: 6524249 P5 webrev doesn't appropriately quote arguments to print(1) * SCCS Keywords There is an item in the task list (which is reachable via the project web page) for this. That item should go away, as we are tracking the keywords issues with bugs. Most of the bugs are in Bugster. Issues that may be relevant to SFW are 350# P3 usr/src/tools contains user-visible SCCS keywords. 264 P3 revisit nightly -O and friends for Mercurial 268# P2 class action scripts that rely on #ident may do evil things Nobody has done the evaluation of 350. I'm guessing most of the issues are related to displaying version information. But we probably want to at least evaluate the bug for SFW. 264 addresses multiple issues, but the only one that is relevant to SFW is the version string for nightly itself that gets put into the mail message. We did some analysis for 268 for ON. If SFW doesn't have any class action scripts, this would obviously not be a stopper for them. None of the remaining bugs is relevant to SFW. However, we have not done any analysis on what the impact would be if ON moves and the bug is not yet fixed. 6560813 P3 USB drivers should not use SCCS keywords in user-visible[...] 6560843 P3 asm sources should not rely on .file "%M%" for naming STT[...] 6560847 P3 rcm_daemon should not use SCCS keywords in rcm_mod_info strings 6576310 P3 postprint uses SCCS keywords for creation and version headers 6560794# P3 inet modules should not use SCCS keywords in user-visible[...] 6560807# P3 common drivers should not use SCCS keywords in user-visibl[...] 6560816# P3 x86 drivers should not use SCCS keywords in user-visible [...] 6560842# P3 sparc drivers should not use SCCS keywords in user-visible[...] 6560957# P3 sendmail should not use SCCS keywords in version info[...] 6560958# P3 Solaris:: perl modules should not use SCCS keywords in ver[...] 6576312# P3 OBP bootblocks use SCCS keywords in user-visible ways 6576316# P3 xntpd uses SCCS keywords to form its version strings. 4758439# P4 some files use "current date" sccs keywords * Old Style, Copyright, etc Issues There are several bugs that were opened in the past against wx or the various checking programs. These will be fixed as part of the SCM Migration work, so they're marked with hg_trans, P4. They are not needed by SFW. 4633617 P4 wx copyright is even slower 4678979 P4 wx nits doesn't check copyrights in the forthdebug files 4739416 P4 copyright checking needs work 6252813 P4 wx copyright matching: quoting is hard 6313877 P4 wx should check for mixed copyrights 6465682 P4 wx should check that PSARC case number matches description * Miscellaneous This one is not needed by SFW: 4865419 P2 bfu on i386 needs /ws/on10-gate/public mounted Strictly speaking, it's not required for ON, either. But we had several putbacks in S10 that assumed that BFU users could run scripts in /ws/onv10-gate. So far we've avoided that in Nevada, but I attribute that mostly to luck. This one is definitely needed by SFW: 6597716# P3 sfwnv should not change tool file permissions in the gate. Without this fixed, doing a build renders the output from "hg stat -mard" pretty much useless. Comments, anyone? mike