Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/hgweb.py @ 168:65cf1b0cfe86
hgweb: add tags links and manifest links
This adds a simple new tags page to browse by tag, adds the tag link
everywhere, and adds manifest links to the tags and changelog pages.
author | mpm@selenic.com |
---|---|
date | Thu, 26 May 2005 12:24:01 -0800 |
parents | 39624c47060f |
children | e9b1147db448 |
comparison
equal
deleted
inserted
replaced
167:fad9ad1ec7c7 | 168:65cf1b0cfe86 |
---|---|
238 node = hn)) | 238 node = hn)) |
239 parity = 1 - parity | 239 parity = 1 - parity |
240 | 240 |
241 yield l | 241 yield l |
242 | 242 |
243 count = self.repo.changelog.count() | 243 cl = self.repo.changelog |
244 mf = cl.read(cl.tip())[0] | |
245 count = cl.count() | |
244 pos = pos or count - 1 | 246 pos = pos or count - 1 |
245 end = min(pos, count - 1) | 247 end = min(pos, count - 1) |
246 start = max(0, pos - self.maxchanges) | 248 start = max(0, pos - self.maxchanges) |
247 end = min(count - 1, start + self.maxchanges) | 249 end = min(count - 1, start + self.maxchanges) |
248 | 250 |
249 yield self.t('changelog', | 251 yield self.t('changelog', |
250 header = self.header(), | 252 header = self.header(), |
251 footer = self.footer(), | 253 footer = self.footer(), |
252 repo = self.reponame, | 254 repo = self.reponame, |
253 changenav = changenav, | 255 changenav = changenav, |
256 manifest = hex(mf), | |
254 rev = pos, changesets = count, entries = changelist) | 257 rev = pos, changesets = count, entries = changelist) |
255 | 258 |
256 def changeset(self, nodeid): | 259 def changeset(self, nodeid): |
257 n = bin(nodeid) | 260 n = bin(nodeid) |
258 cl = self.repo.changelog | 261 cl = self.repo.changelog |
490 node = hex(node), | 493 node = hex(node), |
491 path = path, | 494 path = path, |
492 up = up(path), | 495 up = up(path), |
493 entries = filelist) | 496 entries = filelist) |
494 | 497 |
498 def tags(self): | |
499 cl = self.repo.changelog | |
500 mf = cl.read(cl.tip())[0] | |
501 | |
502 self.repo.lookup(0) # prime the cache | |
503 i = self.repo.tags.items() | |
504 i.sort() | |
505 | |
506 def entries(): | |
507 parity = 0 | |
508 for k,n in i: | |
509 yield self.t("tagentry", | |
510 parity = parity, | |
511 tag = k, | |
512 node = hex(n)) | |
513 parity = 1 - parity | |
514 | |
515 yield self.t("tags", | |
516 header = self.header(), | |
517 footer = self.footer(), | |
518 repo = self.reponame, | |
519 manifest = hex(mf), | |
520 entries = entries) | |
521 | |
495 def filediff(self, file, changeset): | 522 def filediff(self, file, changeset): |
496 n = bin(changeset) | 523 n = bin(changeset) |
497 cl = self.repo.changelog | 524 cl = self.repo.changelog |
498 p1 = cl.parents(n)[0] | 525 p1 = cl.parents(n)[0] |
499 cs = cl.read(n) | 526 cs = cl.read(n) |
535 elif args['cmd'][0] == 'changeset': | 562 elif args['cmd'][0] == 'changeset': |
536 write(self.changeset(args['node'][0])) | 563 write(self.changeset(args['node'][0])) |
537 | 564 |
538 elif args['cmd'][0] == 'manifest': | 565 elif args['cmd'][0] == 'manifest': |
539 write(self.manifest(args['manifest'][0], args['path'][0])) | 566 write(self.manifest(args['manifest'][0], args['path'][0])) |
567 | |
568 elif args['cmd'][0] == 'tags': | |
569 write(self.tags()) | |
540 | 570 |
541 elif args['cmd'][0] == 'filediff': | 571 elif args['cmd'][0] == 'filediff': |
542 write(self.filediff(args['file'][0], args['node'][0])) | 572 write(self.filediff(args['file'][0], args['node'][0])) |
543 | 573 |
544 elif args['cmd'][0] == 'file': | 574 elif args['cmd'][0] == 'file': |