Difference between revisions of "Mercurial history browsing"

From CDOT Wiki
Jump to: navigation, search
(Project Details)
m (Project Leader(s))
 
(17 intermediate revisions by 2 users not shown)
Line 17: Line 17:
 
== Project Leader(s) ==
 
== Project Leader(s) ==
  
[[User:Crulshorukh|Siddharth Kalra]]
+
[[User:Crulshorukh|Siddarth Kalra]]
  
 
== Project Contributor(s) ==
 
== Project Contributor(s) ==
  
* Tiago Moreira
+
* [[User:Tiago|Tiago Moreira]]
 +
* [http://armenzg.blogspot.com/ Armen Zambrano]
 +
* [http://vocamus.net/dave/ David Humphrey]
  
 
== Project Mentors ==
 
== Project Mentors ==
Line 389: Line 391:
  
 
     <tr>
 
     <tr>
         <td>'''The function which retrieves the total amount of entries in the database, getMaxEntries() is causing the browser to freeze. Find a solution for this problem'''</td>
+
         <td>'''Implement an intuitive UI for the changeset query. Apparently many people don’t know that this query exists because currently there is no UI for it.'''</td>
 +
        <td>
 +
          <ul>
 +
            <li>Don't just add in a couple more text boxes</li>
 +
            <li>Use a drop down menu</li>
 +
          </ul>
 +
        </td>
 +
        <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 +
        <td rowspan="6" style="text-align: center;">Fixes for [https://bugzilla.mozilla.org/show_bug.cgi?id=459727 bug 459727]<br/>Fixes for [https://bugzilla.mozilla.org/show_bug.cgi?id=471321 bug 471321]<br/><br/>[http://blog.sidkalra.com/2009/03/v08-release-complete/ View Detailed Info]</td>
 +
    </tr>
 +
    <tr>
 +
        <td>'''Fixing the repeating bug with merge changesets'''</td>
 +
        <td>
 +
          <ul>
 +
            <li>Use recursion</li>
 +
            <li>Solve the merges within merges problem</li>
 +
            <li>Transfer the functionality to a function</li>
 +
          </ul>
 +
        </td>
 +
        <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 +
    </tr>
 +
    <tr>
 +
        <td>'''Implement coding style changes for the onScroll patch to make it consistent with the rest of the code'''</td>
 +
        <td>
 +
          <ul>
 +
            <li>Change the variable names</li>
 +
            <li>Reduce spacing</li>
 +
            <li>Reduce line comments</li>
 +
            <li>Better comments</li>
 +
          </ul>
 +
        </td>
 +
        <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 +
    </tr>
 +
</table>
 +
|}
 +
 
 +
{|class="collapsible collapsed" style="border-style:solid;border-width:thin;border-color:black"
 +
!align="left" style="background-color:Orange; font-weight:bold;border-style:solid;border-width:thin;padding: 2px 2px 2px 2px;"| '''v0.9 Release Details ([http://blog.sidkalra.com/2009/04/v09-release-goals/ Detailed Info])'''
 +
|-
 +
|
 +
<table style="width: 100%;" class="standard-table" cellborder=1 border=1 cellpadding=3 cellspacing=0>
 +
    <th style="width: 40%;">Task</th>
 +
    <th style="width: 42%>Details</th>
 +
    <th style="width: 5%;">Status</th>
 +
    <th style="width: 25%;">Link(s) or Notes</th>
 +
 
 +
    <tr>
 +
        <td>'''Update the files touched patch so that it works with the new pushlog'''</td>
 +
        <td>
 +
          <ul>
 +
            <li>Update the code</li>
 +
            <li>move the all the css to a stylesheet</li>
 +
          </ul>
 +
        </td>
 +
        <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 +
        <td rowspan="6" style="text-align: center;">Fixes for [https://bugzilla.mozilla.org/show_bug.cgi?id=448707 the files touched bug]<br/>Fixes for [https://bugzilla.mozilla.org/show_bug.cgi?id=471321 the changesetUI bug]<br/>Fixes for [https://bugzilla.mozilla.org/show_bug.cgi?id=453162 the line breaks bug]<br/><br/>[http://blog.sidkalra.com/2009/04/v09-release-complete/ View Detailed Info]</td>
 +
    </tr>
 +
    <tr>
 +
        <td>'''Implement the changes for the changesetUI bug'''</td>
 
         <td>
 
         <td>
 
           <ul>
 
           <ul>
             <li>Get rid of getMaxEntries()</li>
+
             <li>Move to using jquery</li>
             <li>Pass in the max total by using the template system</li>
+
             <li>Don't reset the text box values when the user selects a different item from the drop down list</li>
 +
            <li>The drop down list should remember the last executed query</li>
 
           </ul>
 
           </ul>
 
         </td>
 
         </td>
 
         <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 
         <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
        <td rowspan="6" style="text-align: center;">Fixes for [https://bugzilla.mozilla.org/show_bug.cgi?id=459727 bug 459727]<br/><br/>[http://blog.sidkalra.com/2009/03/v07-release-complete/ View Detailed Info]</td>
 
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
         <td>'''Solve the scroll bar problem'''</td>
+
         <td>'''Fix the problem that turns the line breaks in a commit message into spaces'''</td>
 
         <td>
 
         <td>
 
           <ul>
 
           <ul>
             <li>Dynamically load enough entries, according to the users screen size, until the scroll bar appears</li>
+
             <li>Use jquery</li>
 +
            <li>Implement expand/collapse functionality within an ellipsis</li>
 +
            <li>Only display the first line in the collapsed version</li>
 +
          </ul>
 +
        </td>
 +
        <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 +
    </tr>
 +
</table>
 +
|}
 +
 
 +
{|class="collapsible collapsed" style="border-style:solid;border-width:thin;border-color:black"
 +
!align="left" style="background-color:Orange; font-weight:bold;border-style:solid;border-width:thin;padding: 2px 2px 2px 2px;"| '''v1.0 Release Details ([http://blog.sidkalra.com/2009/04/v10-release-goals/ Detailed Info])'''
 +
|-
 +
|
 +
<table style="width: 100%;" class="standard-table" cellborder=1 border=1 cellpadding=3 cellspacing=0>
 +
    <th style="width: 40%;">Task</th>
 +
    <th style="width: 42%>Details</th>
 +
    <th style="width: 5%;">Status</th>
 +
    <th style="width: 25%;">Link(s) or Notes</th>
 +
 
 +
    <tr>
 +
        <td>'''Add expand/collapse functionality for files touched'''</td>
 +
        <td>
 +
        <ul>
 +
            <li>Make sure that it doesn't interfere with the merge expand/collapse feature</li>
 
           </ul>
 
           </ul>
 
         </td>
 
         </td>
 
         <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 
         <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 +
        <td rowspan="10" style="text-align: center;">Fixes for [https://bugzilla.mozilla.org/show_bug.cgi?id=448707 the files touched bug]<br/>Fixes for [https://bugzilla.mozilla.org/show_bug.cgi?id=486939 the >5 merge changeset bug]<br/>Fixes for [https://bugzilla.mozilla.org/show_bug.cgi?id=459727 the on scroll bug]<br/><br/>[http://blog.sidkalra.com/2009/04/v10-release-complete/ View Detailed Info]</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
         <td>'''Solve the split bug'''</td>
+
         <td>'''Expand/Collapse only for merges that contain >5 pushes'''</td>
 
         <td>
 
         <td>
 
           <ul>
 
           <ul>
             <li>Some merge changesets are not being displayed at all</li>
+
             <li>Use the ctx.parents()[0].rev() function to retrieve the push number</li>
            <li>Find a different way of parsing merge strings, split() is not working properly</li>
 
 
           </ul>
 
           </ul>
 
         </td>
 
         </td>
Line 419: Line 503:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
         <td>'''Solve the duplicate bug with merge changesets'''</td>
+
         <td>'''Fixing OnScroll to work with the new version of hg_templates and using more jquery functionality'''</td>
 
         <td>
 
         <td>
 
           <ul>
 
           <ul>
             <li>sometimes the last entry in a merge changeset is repeated in the next entry</li>
+
             <li>Use jquery</li>
             <li>Is this actually a bug or not?</li>
+
             <li>Maintain functionality but reduce the lines of code</li>
 
           </ul>
 
           </ul>
 
         </td>
 
         </td>
         <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Not a Bug</td>
+
         <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 +
    </tr>
 +
    <tr>
 +
        <td>'''Getting the Localize Dates Link Working with the New Entries Loaded On Scroll'''</td>
 +
        <td>
 +
        <ul>
 +
            <li>Create a new span with the class name 'Date'</li>
 +
          </ul>   
 +
        </td>
 +
        <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 +
    </tr>
 +
    <tr>
 +
        <td>'''Further Improving Bug Functionality for the OnScroll Patch'''</td>
 +
        <td>
 +
        <ul>
 +
            <li>Get bugs that are 5 digits long to properly convert into bug links</li>
 +
            <li>Deal with bugs that will come in the future that will be more than 6 digits long</li>
 +
          </ul>   
 +
        </td>
 +
        <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 +
    </tr>
 +
    <tr>
 +
        <td>'''Changing the Data Structure that Handles Merges for the OnScroll Patch'''</td>
 +
        <td>
 +
        <ul>
 +
            <li>Use a dictionary</li>
 +
            <li>Try to reduce the maze of nested blocks</li>
 +
          </ul>   
 +
        </td>
 +
        <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
         <td>'''Use a function to create rev links to avoid code duplication'''</td>
+
         <td>'''Move client-side code to an external JavaScript file for the OnScroll patch'''</td>
 
         <td></td>
 
         <td></td>
 +
        <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 +
    </tr>
 +
    <tr>
 +
        <td>'''Use a different code for the parity counter for the OnScroll patch'''</td>
 +
        <td>
 +
        <ul>
 +
            <li>Use counter % 2</li>
 +
        </ul>   
 +
        </td>
 +
        <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 +
    </tr>
 +
    <tr>
 +
        <td>'''Change how max number of entries in the database is retrieved for the OnScroll patch'''</td>
 +
        <td>
 +
        <ul>
 +
            <li>Use start = {max}</li>
 +
        </ul>   
 +
        </td>
 +
        <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 +
    </tr>
 +
    <tr>
 +
        <td>'''Pushlog should not load more entries on scroll if a query is being displayed (OnScroll patch)'''</td>
 +
        <td>
 +
        <ul>
 +
            <li>If a query has been executed then don't load more entries on scroll</li>
 +
            <li>If a query has not been executed then load more entries on scroll</li>
 +
        </ul>
 +
        </td>
 
         <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 
         <td style="background-color: Green; text-align: center; font-weight: bold; font-size: bigger">Done</td>
 
     </tr>
 
     </tr>
Line 701: Line 842:
 
|
 
|
 
|Made a [http://blog.sidkalra.com/2009/01/v05-release-goals/ blog post] describing my v0.5 release goals for fixing [https://bugzilla.mozilla.org/show_bug.cgi?id=459823 hg annotate]
 
|Made a [http://blog.sidkalra.com/2009/01/v05-release-goals/ blog post] describing my v0.5 release goals for fixing [https://bugzilla.mozilla.org/show_bug.cgi?id=459823 hg annotate]
|-valign="top"
 
|style="color:green;font-weight:bold" |February 22nd, 2009
 
|
 
|Created a [http://www.sidkalra.com/files/mercurial/dps911/improveLoadingTime.patch patch] to speed up hg annotate for the paper theme
 
 
|}
 
|}
 
|}
 
|}
Line 772: Line 909:
 
|
 
|
 
|Made a [http://blog.sidkalra.com/2009/02/v06-release-complete/ blog post] about completing my v0.6 release
 
|Made a [http://blog.sidkalra.com/2009/02/v06-release-complete/ blog post] about completing my v0.6 release
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |February 22nd, 2009
 +
|
 +
|Created a [http://www.sidkalra.com/files/mercurial/dps911/improveLoadingTime.patch patch] to speed up hg annotate for the paper theme
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |February 24th, 2009
 +
|
 +
|[http://www.sidkalra.com/files/mercurial/dps911/chats/Feb24,2009_ted&djc.txt Discussed] hg 1.1 with ted and djc
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |February 25th, 2009
 +
|
 +
|[http://www.sidkalra.com/files/mercurial/dps911/chats/Feb25,2009_ted&djc.txt Discussed] hg 1.1 again with ted and djc
 
|}
 
|}
 
|}
 
|}
Line 819: Line 968:
 
|
 
|
 
|Made a [http://blog.sidkalra.com/2009/03/v07-release-complete/ blog post] about completing my v0.7 release
 
|Made a [http://blog.sidkalra.com/2009/03/v07-release-complete/ blog post] about completing my v0.7 release
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |March 24th, 2009
 +
|
 +
|[http://www.sidkalra.com/files/mercurial/dps911/chats/March24,2009_ted.txt Chatted] with ted in order to find something new to work on
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |March 26th, 2009
 +
|
 +
|Had a little [http://www.sidkalra.com/files/mercurial/dps911/chats/March26,2009_ted.txt chat] with ted regarding the problem with merge changesets
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |March 27th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/03/v08-release-goals/ blog post] about completing my v0.8 release goals
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |March 27th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/03/v08-release-improving-the-coding-style-for-the-onscroll-patch/ blog post] about improving the codying style for the onScroll patch
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |March 28th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/03/v08-release-contemplating-ui-for-the-changeset-query/ blog post] about contemplating the changeset query UI
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |March 28th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/03/v08-release-implementing-the-changeset-query-ui/ blog post] about implementing the changeset query UI
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |March 28th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/03/v08-release-problems-with-displaying-merge-changesets/ blog post] discussing the problems with displaying merge changesets
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |March 29th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/03/v08-release-fix-for-the-merge-changeset-problem/ blog post] discussing the fix for the displaying merge changesets problem
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |March 29th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/03/v08-release-complete/ blog post] about completing my v0.8 Release
 +
|}
 +
|}
 +
 +
{|class="collapsible collapsed" style="border-style:solid;border-width:thin;border-color:black"
 +
!align="left" style="background-color:Orange; font-weight:bold;border-style:solid;border-width:thin;padding: 2px 2px 2px 2px;"| '''April 2009'''
 +
|-
 +
|
 +
{|
 +
!width="130px"|Date
 +
!width="15px"|
 +
!Comments
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |April 8th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/04/v09-release-goals/ blog post] outlining v0.9 release goals
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |April 8th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/04/v09-release-updating-the-files-touched-patch/ blog post] explaining about updating the [https://bugzilla.mozilla.org/show_bug.cgi?id=448707 files touched patch]
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |April 10th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/04/v09-release-implementing-changes-to-the-changset-query-ui/ blog post] explaining the changes for the [https://bugzilla.mozilla.org/show_bug.cgi?id=471321 changeset query UI patch]
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |April 10th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/04/v09-release-contemplating-the-implementation-for-the-line-break-bug/ blog post] about contemplating the fix for the [https://bugzilla.mozilla.org/show_bug.cgi?id=453162 line break bug]
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |April 11th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/04/v09-release-fix-for-the-line-break-bug/ blog post] explaining the fix for the line break bug
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |April 12th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/04/v09-release-complete/ blog post] about completing my v0.9 release
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |April 18th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/04/v10-release-goals/ blog post] detailing the goals for my v1.0 release
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |April 20th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/04/v10-release-expandcollapse-for-the-files-touched-patch/ blog post] explaining my implementation for the expand/collapse feature in regards to the files touched patch
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |April 21st, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/04/v10-release-expandcollapse-functionality-only-for-merges-with-5-pushes/ blog post] explaining my implementation to only add expand/collapse collapse functionality for merges that contain >5 pushes
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |April 22nd, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/04/v10-release-fixing-the-onscroll-patch-to-work-with-the-new-version-of-hg_templates/ blog post] about getting my OnScroll patch to work with the new version of hg_templates and reducing lines of code by using taking advantage of jquery
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |April 22nd, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/04/v10-release-getting-the-localize-dates-link-working-with-the-new-entries-loaded-on-scroll/ blog post] about getting the 'To Local' link to work with new entries loaded on scroll
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |April 23rd, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/04/v10-release-further-improving-bug-functionality-for-the-onscroll-patch/ blog post] about improving the bug functionality for the OnScroll patch
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |April 23rd, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/04/v10-release-changing-the-data-structure-that-handles-merges-for-the-onscroll-patch/ blog post] about changing the data structure that handles merges for the OnScroll patch
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |April 24th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/04/v10-release-various-changes-to-improve-the-onscroll-patch/ blog post] about making various changes (move js to an external file, fix the parity counter, use different way to retrieve max entries and deal with pushlog queries) for the OnScroll patch
 +
|-valign="top"
 +
|style="color:green;font-weight:bold" |April 24th, 2009
 +
|
 +
|Made a [http://blog.sidkalra.com/2009/04/v10-release-complete/ blog post] about completing my v1.0 release
 
|}
 
|}
 
|}
 
|}
Line 830: Line 1,086:
 
* [https://bugzilla.mozilla.org/show_bug.cgi?id=459823 bug 459823 - hg annotate output on hgweb is painfully slow]
 
* [https://bugzilla.mozilla.org/show_bug.cgi?id=459823 bug 459823 - hg annotate output on hgweb is painfully slow]
 
* [https://bugzilla.mozilla.org/show_bug.cgi?id=471321 bug 471321 - Needs for an UI to run changeset queries ]
 
* [https://bugzilla.mozilla.org/show_bug.cgi?id=471321 bug 471321 - Needs for an UI to run changeset queries ]
 +
* [https://bugzilla.mozilla.org/show_bug.cgi?id=453162 bug 453162 - pushlog turns line breaks in commit messages into spaces]
 +
* [https://bugzilla.mozilla.org/show_bug.cgi?id=486939 bug 486939 - merge folding should only fold merges of >5 changesets]
  
 
== External Links ==
 
== External Links ==

Latest revision as of 13:21, 5 February 2013

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)

Siddarth Kalra

Project Contributor(s)

Project Mentors

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

Project Ideas

September 23rd, 2008

January 15th, 2009

Project Details

Project News

Project Bugs

External Links