204 tn = None |
204 tn = None |
205 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f, |
205 yield diffblock(mdiff.unidiff(to, date1, tn, date2, f, |
206 opts=diffopts), f, tn) |
206 opts=diffopts), f, tn) |
207 |
207 |
208 def changelog(self, ctx, shortlog=False): |
208 def changelog(self, ctx, shortlog=False): |
209 def changelist(**map): |
209 def changelist(limit=0,**map): |
210 cl = self.repo.changelog |
210 cl = self.repo.changelog |
211 l = [] # build a list in forward order for efficiency |
211 l = [] # build a list in forward order for efficiency |
212 for i in xrange(start, end): |
212 for i in xrange(start, end): |
213 ctx = self.repo.changectx(i) |
213 ctx = self.repo.changectx(i) |
214 n = ctx.node() |
214 n = ctx.node() |
241 changenav = revnavgen(pos, maxchanges, count, self.repo.changectx) |
244 changenav = revnavgen(pos, maxchanges, count, self.repo.changectx) |
242 |
245 |
243 yield self.t(shortlog and 'shortlog' or 'changelog', |
246 yield self.t(shortlog and 'shortlog' or 'changelog', |
244 changenav=changenav, |
247 changenav=changenav, |
245 node=hex(cl.tip()), |
248 node=hex(cl.tip()), |
246 rev=pos, changesets=count, entries=changelist, |
249 rev=pos, changesets=count, |
|
250 entries=lambda **x: changelist(limit=0,**x), |
|
251 latestentry=lambda **x: changelist(limit=1,**x), |
247 archives=self.archivelist("tip")) |
252 archives=self.archivelist("tip")) |
248 |
253 |
249 def search(self, query): |
254 def search(self, query): |
250 |
255 |
251 def changelist(**map): |
256 def changelist(**map): |
342 start = max(0, pos - pagelen + 1) |
347 start = max(0, pos - pagelen + 1) |
343 end = min(count, start + pagelen) |
348 end = min(count, start + pagelen) |
344 pos = end - 1 |
349 pos = end - 1 |
345 parity = paritygen(self.stripecount, offset=start-end) |
350 parity = paritygen(self.stripecount, offset=start-end) |
346 |
351 |
347 def entries(**map): |
352 def entries(limit=0, **map): |
348 l = [] |
353 l = [] |
349 |
354 |
350 for i in xrange(start, end): |
355 for i in xrange(start, end): |
351 ctx = fctx.filectx(i) |
356 ctx = fctx.filectx(i) |
352 n = fl.node(i) |
357 n = fl.node(i) |
360 "rename": self.renamelink(fl, n), |
365 "rename": self.renamelink(fl, n), |
361 "parent": self.siblings(fctx.parents()), |
366 "parent": self.siblings(fctx.parents()), |
362 "child": self.siblings(fctx.children()), |
367 "child": self.siblings(fctx.children()), |
363 "desc": ctx.description()}) |
368 "desc": ctx.description()}) |
364 |
369 |
|
370 if limit > 0: |
|
371 l = l[:limit] |
|
372 |
365 for e in l: |
373 for e in l: |
366 yield e |
374 yield e |
367 |
375 |
368 nodefunc = lambda x: fctx.filectx(fileid=x) |
376 nodefunc = lambda x: fctx.filectx(fileid=x) |
369 nav = revnavgen(pos, pagelen, count, nodefunc) |
377 nav = revnavgen(pos, pagelen, count, nodefunc) |
370 yield self.t("filelog", file=f, node=hex(fctx.node()), nav=nav, |
378 yield self.t("filelog", file=f, node=hex(fctx.node()), nav=nav, |
371 entries=entries) |
379 entries=lambda **x: entries(limit=0, **x), |
|
380 latestentry=lambda **x: entries(limit=1, **x)) |
372 |
381 |
373 def filerevision(self, fctx): |
382 def filerevision(self, fctx): |
374 f = fctx.path() |
383 f = fctx.path() |
375 text = fctx.data() |
384 text = fctx.data() |
376 fl = fctx.filelog() |
385 fl = fctx.filelog() |
506 def tags(self): |
515 def tags(self): |
507 i = self.repo.tagslist() |
516 i = self.repo.tagslist() |
508 i.reverse() |
517 i.reverse() |
509 parity = paritygen(self.stripecount) |
518 parity = paritygen(self.stripecount) |
510 |
519 |
511 def entries(notip=False, **map): |
520 def entries(notip=False,limit=0, **map): |
|
521 count = 0 |
512 for k, n in i: |
522 for k, n in i: |
513 if notip and k == "tip": |
523 if notip and k == "tip": |
514 continue |
524 continue |
|
525 if limit > 0 and count >= limit: |
|
526 continue |
|
527 count = count + 1 |
515 yield {"parity": parity.next(), |
528 yield {"parity": parity.next(), |
516 "tag": k, |
529 "tag": k, |
517 "date": self.repo.changectx(n).date(), |
530 "date": self.repo.changectx(n).date(), |
518 "node": hex(n)} |
531 "node": hex(n)} |
519 |
532 |
520 yield self.t("tags", |
533 yield self.t("tags", |
521 node=hex(self.repo.changelog.tip()), |
534 node=hex(self.repo.changelog.tip()), |
522 entries=lambda **x: entries(False, **x), |
535 entries=lambda **x: entries(False,0, **x), |
523 entriesnotip=lambda **x: entries(True, **x)) |
536 entriesnotip=lambda **x: entries(True,0, **x), |
|
537 latestentry=lambda **x: entries(True,1, **x)) |
524 |
538 |
525 def summary(self): |
539 def summary(self): |
526 i = self.repo.tagslist() |
540 i = self.repo.tagslist() |
527 i.reverse() |
541 i.reverse() |
528 |
542 |