##// END OF EJS Templates
log --follow: use a set instead of a list...
Benoit Boissinot -
r10024:2b630e4c default
parent child Browse files
Show More
@@ -1169,7 +1169,7 b' def walkchangerevs(repo, match, opts, pr'
1169 class followfilter(object):
1169 class followfilter(object):
1170 def __init__(self, onlyfirst=False):
1170 def __init__(self, onlyfirst=False):
1171 self.startrev = nullrev
1171 self.startrev = nullrev
1172 self.roots = []
1172 self.roots = set()
1173 self.onlyfirst = onlyfirst
1173 self.onlyfirst = onlyfirst
1174
1174
1175 def match(self, rev):
1175 def match(self, rev):
@@ -1187,18 +1187,18 b' def walkchangerevs(repo, match, opts, pr'
1187 if rev > self.startrev:
1187 if rev > self.startrev:
1188 # forward: all descendants
1188 # forward: all descendants
1189 if not self.roots:
1189 if not self.roots:
1190 self.roots.append(self.startrev)
1190 self.roots.add(self.startrev)
1191 for parent in realparents(rev):
1191 for parent in realparents(rev):
1192 if parent in self.roots:
1192 if parent in self.roots:
1193 self.roots.append(rev)
1193 self.roots.add(rev)
1194 return True
1194 return True
1195 else:
1195 else:
1196 # backwards: all parents
1196 # backwards: all parents
1197 if not self.roots:
1197 if not self.roots:
1198 self.roots.extend(realparents(self.startrev))
1198 self.roots.update(realparents(self.startrev))
1199 if rev in self.roots:
1199 if rev in self.roots:
1200 self.roots.remove(rev)
1200 self.roots.remove(rev)
1201 self.roots.extend(realparents(rev))
1201 self.roots.update(realparents(rev))
1202 return True
1202 return True
1203
1203
1204 return False
1204 return False
General Comments 0
You need to be logged in to leave comments. Login now