# HG changeset patch # User Peer Sommerlund <p...@users.sourceforge.net> # 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 Tortoisehg-develop@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop