##// END OF EJS Templates
log: slowpath: do not read the full changelog...
Nicolas Dumazet -
r11609:890ad9d6 default
parent child Browse files
Show More
@@ -1106,16 +1106,20 b' def walkchangerevs(repo, match, opts, pr'
1106 'filenames'))
1106 'filenames'))
1107
1107
1108 # The slow path checks files modified in every changeset.
1108 # The slow path checks files modified in every changeset.
1109 def changerevgen():
1109 if opts.get('removed'):
1110 for i, window in increasing_windows(len(repo) - 1, nullrev):
1110 # --removed wants to yield the changes where the file
1111 for j in xrange(i - window, i + 1):
1111 # was removed, this means that we have to explore all
1112 yield change(j)
1112 # changesets, effectively ignoring the revisions that
1113
1113 # had been passed as arguments
1114 for ctx in changerevgen():
1114 revrange = xrange(nullrev, len(repo) - 1)
1115 else:
1116 revrange = sorted(revs)
1117 for i in revrange:
1118 ctx = change(i)
1115 matches = filter(match, ctx.files())
1119 matches = filter(match, ctx.files())
1116 if matches:
1120 if matches:
1117 fncache[ctx.rev()] = matches
1121 fncache[i] = matches
1118 wanted.add(ctx.rev())
1122 wanted.add(i)
1119
1123
1120 class followfilter(object):
1124 class followfilter(object):
1121 def __init__(self, onlyfirst=False):
1125 def __init__(self, onlyfirst=False):
General Comments 0
You need to be logged in to leave comments. Login now