1141 linkrev = filelog.linkrev(j) |
1141 linkrev = filelog.linkrev(j) |
1142 if linkrev < minrev: |
1142 if linkrev < minrev: |
1143 continue |
1143 continue |
1144 # only yield rev for which we have the changelog, it can |
1144 # only yield rev for which we have the changelog, it can |
1145 # happen while doing "hg log" during a pull or commit |
1145 # happen while doing "hg log" during a pull or commit |
1146 if linkrev > maxrev or linkrev >= cl_count: |
1146 if linkrev >= cl_count: |
1147 break |
1147 break |
1148 |
1148 |
1149 parentlinkrevs = [] |
1149 parentlinkrevs = [] |
1150 for p in filelog.parentrevs(j): |
1150 for p in filelog.parentrevs(j): |
1151 if p != nullrev: |
1151 if p != nullrev: |
1183 # keep track of all ancestors of the file |
1183 # keep track of all ancestors of the file |
1184 ancestors = set([filelog.linkrev(last)]) |
1184 ancestors = set([filelog.linkrev(last)]) |
1185 |
1185 |
1186 # iterate from latest to oldest revision |
1186 # iterate from latest to oldest revision |
1187 for rev, flparentlinkrevs, copied in filerevgen(filelog, last): |
1187 for rev, flparentlinkrevs, copied in filerevgen(filelog, last): |
1188 if rev not in ancestors: |
1188 if not follow: |
1189 continue |
1189 if rev > maxrev: |
1190 # XXX insert 1327 fix here |
1190 continue |
1191 if flparentlinkrevs: |
1191 else: |
1192 ancestors.update(flparentlinkrevs) |
1192 # Note that last might not be the first interesting |
|
1193 # rev to us: |
|
1194 # if the file has been changed after maxrev, we'll |
|
1195 # have linkrev(last) > maxrev, and we still need |
|
1196 # to explore the file graph |
|
1197 if rev not in ancestors: |
|
1198 continue |
|
1199 # XXX insert 1327 fix here |
|
1200 if flparentlinkrevs: |
|
1201 ancestors.update(flparentlinkrevs) |
1193 |
1202 |
1194 fncache.setdefault(rev, []).append(file_) |
1203 fncache.setdefault(rev, []).append(file_) |
1195 wanted.add(rev) |
1204 wanted.add(rev) |
1196 if copied: |
1205 if copied: |
1197 copies.append(copied) |
1206 copies.append(copied) |