# HG changeset patch # User Wagner Bruna <wbr...@softwareexpress.com.br> # 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 Tortoisehg-develop@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop