[PATCH 3 of 3] monoblue: display diffstat on the changeset page

Steven Brown stevengbrown at gmail.com
Thu Jun 2 08:12:16 CDT 2011


# HG changeset patch
# User Steven Brown <StevenGBrown at gmail.com>
# Date 1307017337 -28800
# Node ID 7b14c6ab367919497fc12d7991b3ba8018abe49e
# Parent  b76b2ca94099121ed0b073af7db51853b07ee4c3
monoblue: display diffstat on the changeset page

The diffstat is displayed in the existing HTML table of files.

The filenodelink, filenolink, fileellipses, diffstatlink and diffstatnolink
templates have been defined in the same way as the paper and coal styles.

diff --git a/mercurial/templates/monoblue/changeset.tmpl b/mercurial/templates/monoblue/changeset.tmpl
--- a/mercurial/templates/monoblue/changeset.tmpl
+++ b/mercurial/templates/monoblue/changeset.tmpl
@@ -55,7 +55,7 @@
     <p class="description">{desc|strip|escape|addbreaks|nonempty}</p>
 
     <table>
-    {files}
+    {diffstat}
     </table>
 
     <div class="diff">
diff --git a/mercurial/templates/monoblue/map b/mercurial/templates/monoblue/map
--- a/mercurial/templates/monoblue/map
+++ b/mercurial/templates/monoblue/map
@@ -18,22 +18,33 @@
 navgraphentry = '<a href="{url}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
 filenaventry = '<a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a>'
 filedifflink = '<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
-filenodelink = '
+filenodelink = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
+filenolink = '{file|escape} '
+fileellipses = '...'
+diffstatlink = '
   <tr class="parity{parity}">
-    <td><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td>
-    <td></td>
-    <td>
+    <td class="diffstat-files"><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td>
+    <td align="right">{total}</td>
+    <td class="diffstat">
+      <span class="diffstat-add" style="width:{addpct}%;">&nbsp;</span>
+      <span class="diffstat-remove" style="width:{removepct}%;">&nbsp;</span>
+    </td>
+    <td class="diffstat-links">
       <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> |
       <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> |
       <a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
       <a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a>
     </td>
   </tr>'
-filenolink = '
+diffstatnolink = '
   <tr class="parity{parity}">
-    <td><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td>
-    <td></td>
-    <td>
+    <td class="diffstat-files"><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td>
+    <td align="right">{total}</td>
+    <td class="diffstat">
+      <span class="diffstat-add" style="width:{addpct}%;">&nbsp;</span>
+      <span class="diffstat-remove" style="width:{removepct}%;">&nbsp;</span>
+    </td>
+    <td class="diffstat-links">
       file |
       annotate |
       <a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> |
diff --git a/mercurial/templates/static/style-monoblue.css b/mercurial/templates/static/style-monoblue.css
--- a/mercurial/templates/static/style-monoblue.css
+++ b/mercurial/templates/static/style-monoblue.css
@@ -296,6 +296,24 @@
   width: 60px;
 }
 
+td.diffstat {
+  width:100%;
+}
+td.diffstat-files {
+  white-space:nowrap;
+}
+td.diffstat-links {
+  white-space:nowrap;
+}
+span.diffstat-add {
+  background-color: green;
+  float: left;
+}
+span.diffstat-remove {
+  background-color: red;
+  float: left;
+}
+
 div#powered-by {
   position: absolute;
   width: 75px;


More information about the Mercurial-devel mailing list