Open main menu

CDOT Wiki β

Mercurial history browsing

Revision as of 12:09, 11 November 2008 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 Details

September 23rd, 2008

v0.1 Release Details

  • to get pushloghtml working on my machine (some progress made on this part)
  • to locate the source files that dictate the amount of pushlog entries that get displayed and then alter it to display more entries
    • Turns out that there was some miscommunication and I need to add an AJAX scrolling feature that dynamically loads more changesets
  • to add code that allows expand/collapse functionality (apparently all I need is a js lib according to humph)
    • Turns out that there was another miscommunication as Ted has already added this feature. Look here. However the patch has some problems that will need to be fixed. I might fix this for my 0.2 release (undecided for now)
  • To release v0.1 on time

v0.2 Release Details (More Information)

  • To continue work on bug 459727
    • Implement a loader GIF (view result here)
    • Getting the correct Chronological order when adding more entries OnScroll
    • Getting merge changesets to show up correctly when adding more entries OnScroll
      • Making sure the new entries that load OnScroll comply with bug 445560 (Expand/Collapse feature)
  • To fix ted's patch for bug 445560 (View here)
  • To implement "the which files were touched by a changeset" feature, bug 448707(View Here)

Project News

September 18th, 2008

  • Picked the Mercurial History Browsing project

September 23rd, 2008

  • Chatted with jorendorff about starting on the project
  • Jorendorff made a blog post calling for ideas about the project

September 25th, 2008

  • Chatted with jorendorff on setting my development environment
  • Email conversation with jorendorff, asked some preliminary questions about the project and a hello world type of activity

September 26th, 2008

  • Email conversation with jorendorff about setting up the development environment

September 28th, 2008

  • Played around with hg. Details here
  • Email conversation with jorendorff, asked for help on setting up the development environment and suggestions on a v0.1 release
  • Email conversation with djc about hg_templates

September 29th, 2008

  • Email conversation with jorendorff about v0.1 release ideas

October 1st, 2008

  • Chatted with ted about getting a hold of the pushlog database
  • Email conversation with jorendorff about setting up pushloghtml on my development environment and some questions/concerns regarding pushloghtml

October 2nd, 2008

  • Development Environment almost setup and running except for pushloghtml
  • Decided on v0.1 release (tentative, still need to clear it with humph)
  • Email conversation with jorendorff clarifying some concerns about pushloghtml
  • Email conversation with ted explaining how to setup pushloghtml

October 3rd, 2008

  • Decided on v0.1 release (confirmed with humph). Updated v0.1 release blog post
  • Email conversation asking about simplejson and pysqlite2 modules
  • Email conversation with bsmedberg explaining simplejson and pysqlite2 questions

October 5th, 2008

  • Problems with getting pushloghtml to work here. Work in progress...

October 6th, 2008

  • Multiple email conversations asking djc and bsmedberg about a "no module found" error relating to simplejson and pysqlite2

October 7th, 2008

  • Email conversation with djc, discussing ideas about the causes of the "no module found" error

October 8th, 2008

  • Email conversation with djc asking questions about building Mercurial from source

October 9th, 2008

October 13th, 2008

October 14th, 2008

October 16th, 2008

October 17th, 2008

  • Email conversation asking questions about the json-pushes script

October 18th, 2008

October 19th, 2008

October 23rd, 2008

October 29th, 2008

November 3rd, 2008

  • Had a conversation with djc regarding the date formatting for bug 459727

November 4th, 2008

  • Had a conversation relating to v0.2 release with jorendorff (decided what I will include in v0.2)

November 6th, 2008

  • Had a discussion with jorendorff about how to implement the which files were touched by a changeset feature

November 10th, 2008

  • Had a discussion with ted about the which files were touched by a changeset feature
  • Had a discussion with jorendorff about the which files were touched by a changeset feature

External Links

Other