# HG changeset patch
# User Sean Farley <sean.michael.far...@gmail.com>
# Date 1404884154 18000
#      Wed Jul 09 00:35:54 2014 -0500
# Node ID 011e77e80ae34ba9a19b8591c78959feee5934b9
# Parent  82faecc2132459bf0ba2717f2178ce6b3672e268
graph: show obsolete changesets with an 'X'

diff --git a/kallithea/lib/graphmod.py b/kallithea/lib/graphmod.py
--- a/kallithea/lib/graphmod.py
+++ b/kallithea/lib/graphmod.py
@@ -150,5 +150,6 @@ def _colored(repo, dag):
 
         # Yield and move on
         closing = int(repo[rev].closesbranch)
-        yield ((col, color), edges, closing)
+        obsolete = int(repo[rev].obsolete)
+        yield ((col, color), edges, closing, obsolete)
         row = nextrow
diff --git a/kallithea/lib/vcs/backends/base.py 
b/kallithea/lib/vcs/backends/base.py
--- a/kallithea/lib/vcs/backends/base.py
+++ b/kallithea/lib/vcs/backends/base.py
@@ -667,6 +667,10 @@ class BaseChangeset(object):
     def closesbranch(self):
         return False
 
+    @LazyProperty
+    def obsolete(self):
+        return False
+
 class BaseWorkdir(object):
     """
     Working directory representation of single repository.
diff --git a/kallithea/lib/vcs/backends/hg/changeset.py 
b/kallithea/lib/vcs/backends/hg/changeset.py
--- a/kallithea/lib/vcs/backends/hg/changeset.py
+++ b/kallithea/lib/vcs/backends/hg/changeset.py
@@ -43,6 +43,10 @@ class MercurialChangeset(BaseChangeset):
         return  self._ctx.closesbranch()
 
     @LazyProperty
+    def obsolete(self):
+        return  self._ctx.obsolete()
+
+    @LazyProperty
     def bookmarks(self):
         return map(safe_unicode, self._ctx.bookmarks())
 
diff --git a/kallithea/public/js/graph.js b/kallithea/public/js/graph.js
--- a/kallithea/public/js/graph.js
+++ b/kallithea/public/js/graph.js
@@ -105,6 +105,7 @@ function BranchRenderer(canvas_id, conte
                        node = cur[0];
                        in_l = cur[1];
                        closing = cur[2];
+                       obsolete_node = cur[3];
 
                        var rowY = row.offsetTop + row.offsetHeight/2;
                        var nextY = (next == null) ? rowY + row.offsetHeight/2 
: next.offsetTop + next.offsetHeight/2;
@@ -178,6 +179,19 @@ function BranchRenderer(canvas_id, conte
                        x = Math.floor(base_x - box_size * column);
                
                        this.setColor(color, 0.25, 0.75);
+
+
+                       r = this.dot_radius
+                       if (obsolete_node)
+                       {
+                               this.ctx.beginPath();
+                               this.ctx.moveTo(x - this.close_x, rowY - 
this.close_y - 3);
+                               this.ctx.lineTo(x - this.close_x + 
2*this.close_x, rowY - this.close_y + 4*this.close_y - 1);
+                               this.ctx.moveTo(x - this.close_x, rowY - 
this.close_y + 4*this.close_y - 1);
+                               this.ctx.lineTo(x - this.close_x + 
2*this.close_x, rowY - this.close_y - 3);
+                               this.ctx.stroke();
+                               r -= 0.5
+                       }
                        if (closing)
                        {
                                this.ctx.fillRect(x - this.close_x, rowY - 
this.close_y, 2*this.close_x, 2*this.close_y);
@@ -185,7 +199,7 @@ function BranchRenderer(canvas_id, conte
                        else
                        {
                                this.ctx.beginPath();
-                               this.ctx.arc(x, rowY, this.dot_radius, 0, 
Math.PI * 2, true);
+                               this.ctx.arc(x, rowY, r, 0, Math.PI * 2, true);
                                this.ctx.fill();
                        }
 
_______________________________________________
kallithea-general mailing list
kallithea-general@sfconservancy.org
http://lists.sfconservancy.org/mailman/listinfo/kallithea-general

Reply via email to