Show More
@@ -48,6 +48,14 b' class revnav(object):' | |||||
48 | """ |
|
48 | """ | |
49 | self.nodefunc = nodefunc |
|
49 | self.nodefunc = nodefunc | |
50 |
|
50 | |||
|
51 | def __nonzero__(self): | |||
|
52 | """return True if any revision to navigate over""" | |||
|
53 | try: | |||
|
54 | self.nodefunc(0) | |||
|
55 | return True | |||
|
56 | except error.RepoError: | |||
|
57 | return False | |||
|
58 | ||||
51 | def hex(self, rev): |
|
59 | def hex(self, rev): | |
52 | return self.nodefunc(rev).hex() |
|
60 | return self.nodefunc(rev).hex() | |
53 |
|
61 | |||
@@ -64,6 +72,9 b' class revnav(object):' | |||||
64 | - values are generator functions taking arbitrary number of kwargs |
|
72 | - values are generator functions taking arbitrary number of kwargs | |
65 | - yield items are dictionaries with `label` and `node` keys |
|
73 | - yield items are dictionaries with `label` and `node` keys | |
66 | """ |
|
74 | """ | |
|
75 | if not self: | |||
|
76 | # empty repo | |||
|
77 | return ({'before': (), 'after': ()},) | |||
67 |
|
78 | |||
68 | navbefore = [] |
|
79 | navbefore = [] | |
69 | navafter = [] |
|
80 | navafter = [] | |
@@ -77,10 +88,7 b' class revnav(object):' | |||||
77 | navbefore.insert(0, ("-%d" % f, self.hex(pos - f))) |
|
88 | navbefore.insert(0, ("-%d" % f, self.hex(pos - f))) | |
78 |
|
89 | |||
79 | navafter.append(("tip", "tip")) |
|
90 | navafter.append(("tip", "tip")) | |
80 | try: |
|
91 | navbefore.insert(0, ("(0)", self.hex(0))) | |
81 | navbefore.insert(0, ("(0)", self.hex(0))) |
|
|||
82 | except error.RepoError: |
|
|||
83 | pass |
|
|||
84 |
|
92 | |||
85 | data = lambda i: {"label": i[0], "node": i[1]} |
|
93 | data = lambda i: {"label": i[0], "node": i[1]} | |
86 | return ({'before': lambda **map: (data(i) for i in navbefore), |
|
94 | return ({'before': lambda **map: (data(i) for i in navbefore), |
General Comments 0
You need to be logged in to leave comments.
Login now