Diff for "Code/BranchRevisions"

Not logged in - Log In / Register

Differences between revisions 1 and 2
Revision 1 as of 2010-09-13 05:21:58
Size: 1037
Editor: thumper
Comment:
Revision 2 as of 2010-09-16 13:51:14
Size: 1576
Editor: abentley
Comment:
Deletions are marked like this. Additions are marked like this.
Line 13: Line 13:
     ''Is that actually wanted, though? I think people might prefer seeing only revisions created since branching.'' — AaronBentley
Line 17: Line 18:
   ''What about just keeping track of which branch introduced the revision?'' — AaronBentley
Line 18: Line 20:
   ''Is the branch relevant here, or just the project/package?'' — AaronBentley

Meta: For revision feeds and karma, it seems like we're using a list of all branches containing the revision to find a single branch containing the revision-- if we just store the single branch, we can be more efficient.

Branches and Revisions

The links between branches and revisions are currently (Sep 2010) handled using the BranchRevision table. There is one row in this table for every revision in the branch. This is mildly insane for the number of feature branches that we encourage projects to use as the vast majority of the revisions are common to the branches.

Consider the Launchpad project itself. There are over 90k revisions in the ancestry, so every branch adds 90k rows to the BranchRevision table.

Before we can simplify, reduce and clean up this relationship, we need to understand what the entries are used for.

Uses for the BranchRevision table.

  • Branch page
    • shows the recent commits for any given branch, up to 10, and includes those already in trunk
      • Is that actually wanted, though? I think people might prefer seeing only revisions created since branching.AaronBentley

  • Merge proposal page
    • unmerged revisions (up to 10 - confusing ui)
    • commits since the start of the review
  • Finding the most relevant branch for any given revision (primarily used in the revision feeds)
    • What about just keeping track of which branch introduced the revision?AaronBentley

  • Allocating revision karma
    • Is the branch relevant here, or just the project/package?AaronBentley

Meta: For revision feeds and karma, it seems like we're using a list of all branches containing the revision to find a single branch containing the revision-- if we just store the single branch, we can be more efficient.

Code/BranchRevisions (last edited 2010-10-26 14:45:32 by abentley)