ViewBazaarBranches

Viewing Bazaar branches

Status

Introduction

Launchpad will show the branches of a product, including which are the most active and which are related to each other.

This spec might embrace and extend BranchActivityVisualisation and BranchRelationshipVisualisation.

Rationale

Launchpad will have a huge amount of data about the world's FS development, letting developers access it will expand the work they can do by making more code and metainformation available to them.

Use cases

  • Joe wants to see what's been happening on the Firefox NTLM branch, so he goes ot the Firefox product page, then clicks through to the NTLM branch, which gives a page showing all the commits made, plus log messages and dates.
  • Morag hears about a new merge algorithm being implemented in bzr, so she goes to the bzr project page, clicks through to the "new merge algorithm branch", selects the most recent revision and clicks on the link to the "bzrlib/merge.py" file, which launchpad then displays in it's entirety.
  • Jorna wants to see how the above merge algorithm has been evolving, so from the bzrlib/merge.py display she can select the "show annotated view" link to see how it's changed over time.
  • Johannes is interested in a new patch commited to glibc, so he goes to the glibc main branch page, clicks on the "show diffs" link from the last commit and gets a nifty page showing the diffs and such from that commit.
  • Ooder wonders when his frobnicator feature was merged into gcc mainline, so he goes to the frobnicator branch page, selects "branches who merged this", and gets shown the list of commits which include changesets from this branch.

Interface design

  • The branch page will be enhanced by adding the list of commits on that branch, showing the short commit message, the commit date and the patch-level. If the branch has only one commitor, show that at the top of the list. If there's more than one, show it for each commit, unfortunately consuming precious horizontal space. This overlaps with BranchActivityVisualisation, so the flame icons and such need to be included in this.

  • Clicking on a link from the commit level (or maybe the whole row) will take you to a file listing for that revision. There should be a link to download a tarball of that revision, built on the fly by Launchpad.
  • Clicking on a file from the above file list will show you that revision of that file. It would be nice to be able to syntax-hilight it based on the filetype as determined by the extension.
  • From the fileview page, there is a link to an annotated version of the file, showing changes on (at least) that branch.
  • Another link in the branch's revision list will take the user to the changeset information page, showing some information about the commit, like the diff hunks and file adds/deletes/moves.
  • The branch page will also show a list of revisions in other branches that directly merged changes from that branch. A "all branches mentioning this one" link will show a clickable list of all branches including patchlogs from this branch.

Implementation

Outstanding issues

UbuntuDownUnder/BOFs/ViewBazaarBranches (last edited 2008-08-06 16:36:44 by localhost)