Open main menu

CDOT Wiki β

Mercurial history browsing

Revision as of 19:02, 23 January 2009 by Crulshorukh (talk | contribs) (Project Details)

Project Name

Adding Functionality to the Browser Based UI for Mercurial History Browsing, hgweb

Project Description

Mozilla is just starting to use an exciting new distributed version control tool: Mercurial.

One of the exciting things about Mercurial is that the history—the list of all the changes that have ever been checked in—is not linear. It frequently has branches and merges. This is actually a good, important feature, as you know if you've read a little about distributed version control. The downside is that the history becomes a maze of twisty little passages. Benjamin Smedberg's demo shows the history of a repository with lots of merges (each box is a check-in; you can click on the boxes to move around).

There have been a couple attempts at showing history in an intuitive, graphical way. Mercurial comes with a web UI for browsing the repository, including history (here's what it looks like). It also comes with an "hg glog" extension that draws history as ASCII art, and an "hg view" extension that does roughly the same thing with a little GUI. Sadly, none of these applications qualifies as awesome.

The project's goal is to rectify this sad situation by writing an awesome browser-based UI for navigating Mercurial repository history.

Resources: jorendorff, bsmedberg

Project Leader(s)

Project Contributor(s)

  • Tiago Moreira

Project Mentors

  • Jason Ordendorff (jorendorff)
  • Dirkjan Ochtman (djc)
  • Ted Mielczarek (ted)
  • Benjamin Smedberg (bsmedberg)

Project Ideas

September 23rd, 2008

January 15th, 2009

Project Details

v0.4 Release Details

Task Details Status Link(s) or Notes
Optimize the client side code Maintain/add functionality but decrease the lines of code. Some lines are being repeated that can be put into functions. Done Fixes for bug 459727

View detailed info
Fix the buglink feature
  • Create a better regex so that correct buglinks are formed 100% of the time
  • Make sure that buglinks are formed even when there is more than 1 buglink on one line
Done
Fix the onPageLoad feature Load more changeset entries according to the user's monitor size in order for the scroll bar to appear. Currently a script error is occurring. Done
Loader.gif should appear properly When the user gets to the end of page loader.gif should show to signify that something is being loaded. That isn't happening properly, the user should see the GIF appear. Done
Fix potential XSS attack vulnerability Get rid of var pushData = new Function("return " + pushCheckins.responseText) () and use something like JSON.parse Done
Merge Changesets Background Color Problems No merge changesets have a grey background color, instead they wrongly have a white background color Done

Project News

January 2009

Date Comments
January 13th, 2009 Had a discussion with jorendorff and ted about what I will be working on this semester.
January 15th, 2009 Made a preliminary blog post about starting off a new course for this semester.
January 16th, 2009 Made a blog post about my v0.4 Release goals
January 17th, 2009 Made a blog post about optimizing code regarding bug 459727 for my v0.4 release
January 17th, 2009 Made a blog post about making better regexps for identifying bugLinks regarding bug 459727 for my v0.4 release
January 18th, 2009 Made a blog post about linkifying all bug strings on a line by using recursion for my v0.4 release
January 19th, 2009 Made a blog post about fixing XSS vulnerabilities and loader.gif issues for my v0.4 release
January 22nd, 2009 Made a blog post about fixing the unresolved script error for entries loaded onPageLoad regarding my v0.4 release
January 22nd, 2009 Made a blog post about fixing the problem with the background color of merge changesets regarding my v0.4 release

Project Bugs

External Links