# HG changeset patch
# User Peer Sommerlund <[email protected]>
# Date 1253192956 -7200
# Node ID 6b18a5e1f43305049d40843f204e550af537303e
# Parent dc45de6f86d8b9ac7f266dc962ca82bb9a367225
logview: Support branch colour on compact graph
diff -r dc45de6f86d8 -r 6b18a5e1f433 tortoisehg/hgtk/logview/revgraph.py
--- a/tortoisehg/hgtk/logview/revgraph.py Wed Sep 16 00:18:17 2009 -0500
+++ b/tortoisehg/hgtk/logview/revgraph.py Thu Sep 17 15:09:16 2009 +0200
@@ -57,6 +57,9 @@
def __get_parents(repo, rev):
return [x for x in repo.changelog.parentrevs(rev) if x != nullrev]
+def _color_of_branch(repo, rev):
+ return sum([ord(c) for c in repo[rev].branch()])
+
def _color_of(repo, rev, nextcolor, preferredcolor, branch_color=False):
if not branch_color:
if preferredcolor[0]:
@@ -67,7 +70,7 @@
nextcolor[0] = nextcolor[0] + 1
return rv
else:
- return sum([ord(c) for c in repo[rev].branch()])
+ return _color_of_branch(repo, rev)
type_PLAIN = 0
type_LOOSE_LOW = 1
@@ -154,7 +157,12 @@
two branches.
"""
- def __init__(self, repo, start_rev, stop_rev):
+ def __init__(self, repo, start_rev, stop_rev, branch_color):
+ '''
+ start_rev - first (newest) changeset to cover
+ stop_rev - last (oldest) changeset to cover
+ branch_color - true if branch name determines colours
+ '''
assert start_rev >= stop_rev
self.repo = repo
@@ -201,6 +209,9 @@
# Next colour used. for branches
self.nextcolor = 0
+
+ # Flag to indicate if coloring is done pr micro-branch or pr named
branch
+ self.branch_color = branch_color
def _get_parents(self, rev):
return [x for x in self.repo.changelog.parentrevs(rev) if x != nullrev]
@@ -217,8 +228,12 @@
of branch_head as part of the same branch. Stops when stop_rev
is passed or a known revision is found"""
assert not branch_head in self.branch4rev
- self.color4branch[branch_head] = self.nextcolor
- self.nextcolor += 1
+ if self.branch_color:
+ self.color4branch[branch_head] = \
+ _color_of_branch(self.repo, branch_head)
+ else:
+ self.color4branch[branch_head] = self.nextcolor
+ self.nextcolor += 1
self.next_in_branch[branch_head] = branch_head
branch_name = self._branch_name(branch_head)
rev = branch_head
@@ -330,8 +345,8 @@
# Return result
return (rev, node, lines, None)
-def branch_grapher(repo, start_rev, stop_rev):
- grapher = BranchGrapher(repo, start_rev, stop_rev)
+def branch_grapher(repo, start_rev, stop_rev, branch_color=False):
+ grapher = BranchGrapher(repo, start_rev, stop_rev, branch_color)
while grapher.more():
yield grapher.next()
diff -r dc45de6f86d8 -r 6b18a5e1f433 tortoisehg/hgtk/logview/treeview.py
--- a/tortoisehg/hgtk/logview/treeview.py Wed Sep 16 00:18:17 2009 -0500
+++ b/tortoisehg/hgtk/logview/treeview.py Thu Sep 17 15:09:16 2009 +0200
@@ -164,7 +164,8 @@
start = len(self.repo.changelog) - 1
noheads = opts.get('noheads', False)
if opts.get('branch-view', False):
- self.grapher = branch_grapher(self.repo, start, end)
+ self.grapher = branch_grapher(self.repo, start, end,
+ self.branch_color)
else:
self.grapher = revision_grapher(self.repo, start, end, pats,
noheads, self.branch_color)
------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Tortoisehg-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop