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)
- Tiago Moreira
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
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 | |
Fix the buglink feature |
|
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 |
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
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 |