##// END OF EJS Templates
hg: reimplement branch listings more efficiently...
Mads Kiilerich -
r4728:1cd9bdf1 default
parent child Browse files
Show More
@@ -121,34 +121,16 b' class MercurialRepository(BaseRepository'
121 if self._empty:
121 if self._empty:
122 return {}
122 return {}
123
123
124 def _branchtags(localrepo):
124 bt = OrderedDict()
125 """
125 for bn, _heads, tip, isclosed in sorted(self._repo.branchmap().iterbranches()):
126 Patched version of mercurial branchtags to not return the closed
126 if isclosed:
127 branches
127 if closed:
128
128 bt[safe_unicode(bn)] = hex(tip)
129 :param localrepo: locarepository instance
129 else:
130 """
130 if normal:
131 bt[safe_unicode(bn)] = hex(tip)
131
132
132 bt = {}
133 return bt
133 bt_closed = {}
134 for bn, heads in localrepo.branchmap().iteritems():
135 tip = heads[-1]
136 if 'close' in localrepo.changelog.read(tip)[5]:
137 bt_closed[bn] = tip
138 else:
139 bt[bn] = tip
140
141 if not normal:
142 return bt_closed
143 if closed:
144 bt.update(bt_closed)
145 return bt
146
147 sortkey = lambda ctx: ctx[0] # sort by name
148 _branches = [(safe_unicode(n), hex(h),) for n, h in
149 _branchtags(self._repo).items()]
150
151 return OrderedDict(sorted(_branches, key=sortkey, reverse=False))
152
134
153 @LazyProperty
135 @LazyProperty
154 def tags(self):
136 def tags(self):
General Comments 0
You need to be logged in to leave comments. Login now