# HG changeset patch
# User Wagner Bruna <[email protected]>
# Date 1276908481 10800
# Branch stable
# Node ID 33938a9efc992e220b576a746e1bd4e050311af0
# Parent dc3ea93a26cf7ad70b6efe5560c48a879b9e8475
revlog: shows revision graph for revsets
Partially replaces unused similar functionality introduced by 0570db489d62.
diff --git a/tortoisehg/hgtk/logview/revgraph.py
b/tortoisehg/hgtk/logview/revgraph.py
--- a/tortoisehg/hgtk/logview/revgraph.py
+++ b/tortoisehg/hgtk/logview/revgraph.py
@@ -130,8 +130,8 @@
type_LOOSE_LOW = 1
type_LOOSE_HIGH = 2
-def revision_grapher(repo, start_rev, stop_rev, branch=None, noheads=False,
- branch_color=False, hide_revs=[], prune_revs=[]):
+def revision_grapher(repo, start_rev=-1, stop_rev=-1, branch=None,
noheads=False,
+ branch_color=False, only_revs=[]):
"""incremental revision grapher
This grapher generates a full graph where every edge is visible.
@@ -143,30 +143,23 @@
to show ancestors of a revision.
if branch_color is True, the branch colour is determined by a hash
of the branch tip, and will thus always be the same.
- hide_revs is a list of revisions to be hidden from the graph
- prune_revs is a list of revisions to be hidden from the graph,
- together with their ancestors.
+ if only_revs is not [], only those revisions will be shown.
"""
+ shown_revs = None
+ if only_revs:
+ shown_revs = set([repo[repo.lookup(r)].rev() for r in only_revs])
+ start_rev = max(shown_revs)
+ stop_rev = min(shown_revs)
+
assert start_rev >= stop_rev
curr_rev = start_rev
revs = []
rev_color = {}
nextcolor = [0]
- hidden_revs = set([repo[repo.lookup(r)].rev() for r in hide_revs])
- pruned_desc = [repo[repo.lookup(r)].rev() for r in prune_revs]
- pruned_desc.sort()
-
def hidden(rev):
- while pruned_desc and rev <= pruned_desc[-1]:
- r = pruned_desc.pop()
- hidden_revs.add(r)
- for p in __get_parents(repo, r):
- if p not in pruned_desc:
- pruned_desc.append(p)
- pruned_desc.sort()
- return rev in hidden_revs
+ return (shown_revs and (rev not in shown_revs)) or False
while curr_rev >= stop_rev:
if hidden(curr_rev):
diff --git a/tortoisehg/hgtk/logview/treeview.py
b/tortoisehg/hgtk/logview/treeview.py
--- a/tortoisehg/hgtk/logview/treeview.py
+++ b/tortoisehg/hgtk/logview/treeview.py
@@ -194,7 +194,8 @@
self.grapher = revision_grapher(self.repo, start, end,
only_branch, noheads, self.opts.get('branch-color'))
elif opts.get('revlist', None):
- self.grapher = dumb_log_generator(self.repo, opts['revlist'])
+ graphcol = True
+ self.grapher = revision_grapher(self.repo,
only_revs=opts['revlist'])
else:
self.grapher = filtered_log_generator(self.repo, pats, opts)
self.opts['show-graph'] = graphcol
------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit. See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Tortoisehg-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop