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

Reply via email to