Mercurial history browsing
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)
Project Mentors
- Jason Ordendorff (jorendorff)
- Dirkjan Ochtman (djc)
- Ted Mielczarek (ted)
- Benjamin Smedberg (bsmedberg)
Project Ideas
September 23rd, 2008
Hgweb ideas |
---|
|
January 15th, 2009
DPS911 - Project Description and Plan |
---|
I will be continuing my work on hgweb for this new course. I’ve had a talk with jorendorff and ted regarding the bugs I can try to fix. I have various options that I can take on. There are definitely things available that I can continue to work on throughout the semester. Ideas for Releases Ideas for Releases bug 459727 - pushloghtml should show more than 10 entries at a time History that is filtered by directory Filtering the pushlog according to the directories touched. According to jorendorff this is a large feature that will require work. I told him that we were required to put out releases every 2 weeks so he recommended that I choose one large feature to work on (this one). I can implement this feature and improve its functionality for at least a few releases. Hg Annotate is very slow This is a bug that people have been working on for a while. Files using Hg Annotate are taking forever to load in any browser in comparison to loading the same file in bonsai. This is a medium difficulty bug that I could fix in maybe 2 releases or so. Expand/Collapse functionality for files touched Last semester I fixed a bug that added files touched functionality to the pushlog. My bug passed the review but now I want to add expand/collapse functionality for the files touched. Goals My goals are to give priority to the bugs that users want done. I will probably start by working on the pushloghtml should show more than 10 entries at time bug and then see what I want to work on next. Ideally I would like to get all the four ideas I have listed above done but it is hard to say whether that will be possible. Inevitably there will be issues with my patches and I will have to probably dedicate some releases to bug fixing. Possible Problems Last semester’s experience with this stuff means that I won’t have a large learning curve. It should be smooth sailing but problems will definitely creep up. I will probably get stuck and will require help. In that scenario I will need to consult somebody with more knowledge than myself. Usually ted, jorendorff and djc are available but if they are not, then there might be issues. My project doesn’t involve waiting for anything or for anybody to do anything (except when I will be waiting for reviews) so in the end everything is on me to get things working. |
Project Details
v0.1 Release Details |
---|
|
v0.2 Release Details (More Information) (Final result) |
---|
|
v0.3 Release Details (View here) |
---|
|
v0.4 Release Details | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
v0.5 Release Details | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
v0.6 Release Details (View Detailed Info) | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
v0.7 Release Details (Detailed Info) | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
v0.8 Release Details (Detailed Info) | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
v0.9 Release Details (Detailed Info) | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
v1.0 Release Details (Detailed Info) | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Project News
DPS909 Timeline |
---|
September 18th, 2008
September 23rd, 2008
September 25th, 2008
September 26th, 2008
September 28th, 2008
September 29th, 2008
October 1st, 2008
October 2nd, 2008
October 3rd, 2008
October 5th, 2008
October 6th, 2008
October 7th, 2008
October 8th, 2008
October 9th, 2008
October 13th, 2008
October 14th, 2008
October 16th, 2008
October 17th, 2008
October 18th, 2008
October 19th, 2008
October 23rd, 2008
October 29th, 2008
November 3rd, 2008
November 4th, 2008
November 5th, 2008
November 6th, 2008
November 7th, 2008
November 8th, 2008
November 10th, 2008
November 11th, 2008
November 12th, 2008
November 13th, 2008
November 15th, 2008
November 16th, 2008
November 19th, 2008
November 24th, 2008
November 29th, 2008
December 1st, 2008
December 2nd, 2008
December 3rd, 2008
December 4th, 2008
December 5th, 2008
December 7th, 2008 |
January 2009 | |||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
February 2009 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
March 2009 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
April 2009 | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Project Bugs
- bug 459727 - pushloghtml should show more than 10 entries at a time
- bug 445560 - html pushlog should fold merge changesets into one line
- bug 448707 - display files in pushlog
- bug 468089 - pushlog should have a graph view
- bug 459823 - hg annotate output on hgweb is painfully slow
- bug 471321 - Needs for an UI to run changeset queries
- bug 453162 - pushlog turns line breaks in commit messages into spaces
- bug 486939 - merge folding should only fold merges of >5 changesets