Ticket #3898 (new enhancement )

Opened 7 months ago

Last modified 4 months ago

Dismantle, describe, and incorporate the contents of the conch session branch piecemeal

Reported by: glyph Assigned to: therve
Type: enhancement Priority: normal
Milestone: Component: conch
Keywords: Cc: therve, exarkun, glyph, z3p
Branch: branches/dismantle-session-branch-3898 Author: z3p
Launchpad Bug:

Description (last modified by glyph)

#2710 ended in an unfortunate failure condition, where reviewers (including myself) agreed that the branch was just too big and too nebulously described to review and to incorporate. However, the branch probably has a lot of valuable work in it and we shouldn't let that be lost.

I'd like this ticket to track that work, and to be closed when nothing worthwhile of value remains to be extracted. ("of value" can be defined by whoever volunteers to do the work, by how much they're willing to do.) However, I'd also like to provide some practical advice on how to accomplish this and a technique for tracking progress that might allow more than one person to contribute:

  • start by merging the session branch forward into a branch with this ticket number instead
  • then, for each beneficial, separable thing in the branch:
    • identify one feature, bugfix, or structural improvement
    • describe it clearly on a ticket
    • add a link from that ticket to this ticket, and update the description of this ticket to refer to that ticket.
    • chbranch to this branch
    • mkbranch a new branch for the new feature
    • In your working copy, revert all the hunks that are not related to the specific feature being described
    • commit that, and go through the review process with that change.
    • once that has successfully made it through review, merge the branch associated with this ticket forward, and resolve the conflicts created by the merge of the smaller feature. This should result in a new, smaller branch without those changes.

Unlike a normal branch, whose goal is to get merged to trunk, the ultimate goal of this branch will be to get deleted. However, in the meanwhile, it will serve as a resource for anyone interested in doing some conch work to look at and try to identify useful features. As the branch gets smaller, discrete units of functionality should become easier to identify, and therefore more people can contribute.

Attachments

Change History

  2009-07-01 22:37:34+00:00 changed by glyph

  • cc set to therve, exarkun, glyph, z3p
  • owner changed from z3p to therve

Seen on IRC:

<exarkun> therve volunteered to do the first iteration, I think
<exarkun> By "volunteered" I mean he finished #2687 and merged it

So: #2687. Hooray! Are you going to take over the next step as well?

  2009-07-02 01:46:21+00:00 changed by z3p

  • branch set to branches/dismantle-session-branch-3898
  • branch_author set to z3p

(In [27073]) Branching to 'dismantle-session-branch-3898'

  2009-07-02 01:59:38+00:00 changed by z3p

The two obvious tickets are

  • the new tests which verify the current behavior (OldSession*, WrapProtocolTestCase, TestHelpers, SSHSessionProcessProtocolTestCase, SSHSessionClientTestCase, ClientSessionTestCase), which should be easy to review because they're just unittests
  • the new behavior (SSHApplication stuff)

To pull out individual bug fixes would probably require going back through the logs, checking for messages mentioning bugs.

follow-up: ↓ 5   2009-07-07 07:33:55+00:00 changed by jml

I think it would be a good idea to record any filed tickets on the bug report too. Since filing a good ticket is a fair-sized chunk of work, it's likely for there to be a gap between filing & fixing. Recording the tickets here would probably prevent time being wasted filing & handling duplicate tickets.

in reply to: ↑ 4   2009-07-07 09:44:59+00:00 changed by glyph

  • description deleted

Replying to jml:

I think it would be a good idea to record any filed tickets on the bug report too.

If by "the bug report" you mean this ticket, then absolutely, +1. I assumed this would be done. I've updated the description to mention adding the references between tickets as a separate step.

  2009-10-01 00:10:10+00:00 changed by z3p

#4047 is a branch to copy the old session tests out of this branch.

Note: See TracTickets for help on using tickets.