mirror of
https://github.com/facebook/sapling.git
synced 2024-10-04 13:57:13 +03:00
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.
This commit is contained in:
parent
e687fa3c97
commit
546aa0fdbb
@ -240,7 +240,9 @@ class hgweb:
|
||||
|
||||
yield l
|
||||
|
||||
count = self.repo.changelog.count()
|
||||
cl = self.repo.changelog
|
||||
mf = cl.read(cl.tip())[0]
|
||||
count = cl.count()
|
||||
pos = pos or count - 1
|
||||
end = min(pos, count - 1)
|
||||
start = max(0, pos - self.maxchanges)
|
||||
@ -251,6 +253,7 @@ class hgweb:
|
||||
footer = self.footer(),
|
||||
repo = self.reponame,
|
||||
changenav = changenav,
|
||||
manifest = hex(mf),
|
||||
rev = pos, changesets = count, entries = changelist)
|
||||
|
||||
def changeset(self, nodeid):
|
||||
@ -492,6 +495,30 @@ class hgweb:
|
||||
up = up(path),
|
||||
entries = filelist)
|
||||
|
||||
def tags(self):
|
||||
cl = self.repo.changelog
|
||||
mf = cl.read(cl.tip())[0]
|
||||
|
||||
self.repo.lookup(0) # prime the cache
|
||||
i = self.repo.tags.items()
|
||||
i.sort()
|
||||
|
||||
def entries():
|
||||
parity = 0
|
||||
for k,n in i:
|
||||
yield self.t("tagentry",
|
||||
parity = parity,
|
||||
tag = k,
|
||||
node = hex(n))
|
||||
parity = 1 - parity
|
||||
|
||||
yield self.t("tags",
|
||||
header = self.header(),
|
||||
footer = self.footer(),
|
||||
repo = self.reponame,
|
||||
manifest = hex(mf),
|
||||
entries = entries)
|
||||
|
||||
def filediff(self, file, changeset):
|
||||
n = bin(changeset)
|
||||
cl = self.repo.changelog
|
||||
@ -538,6 +565,9 @@ class hgweb:
|
||||
elif args['cmd'][0] == 'manifest':
|
||||
write(self.manifest(args['manifest'][0], args['path'][0]))
|
||||
|
||||
elif args['cmd'][0] == 'tags':
|
||||
write(self.tags())
|
||||
|
||||
elif args['cmd'][0] == 'filediff':
|
||||
write(self.filediff(args['file'][0], args['node'][0]))
|
||||
|
||||
|
@ -2,6 +2,12 @@
|
||||
<title>#repo#: changelog</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="buttons">
|
||||
<a href="?cmd=tags">tags</a>
|
||||
<a href="?cmd=manifest;manifest=#manifest#;path=/">manifest</a>
|
||||
</div>
|
||||
|
||||
<h2>changelog for #repo#</h2>
|
||||
|
||||
<form>
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
<div class="buttons">
|
||||
<a href="?cmd=changelog;rev=#rev#">changelog</a>
|
||||
<a href="?cmd=tags">tags</a>
|
||||
<a href="?cmd=manifest;manifest=#manifest#;path=/">manifest</a>
|
||||
</div>
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
<div class="buttons">
|
||||
<a href="?cmd=changelog;rev=#rev#">changelog</a>
|
||||
<a href="?cmd=tags">tags</a>
|
||||
<a href="?cmd=changeset;node=#node#">changeset</a>
|
||||
<a href="?cmd=manifest;manifest=#manifest#;path=#path#">manifest</a>
|
||||
<a href="?cmd=file;file=#file#;filenode=#filenode#">file</a>
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
<div class="buttons">
|
||||
<a href="?cmd=changelog;rev=#rev#">changelog</a>
|
||||
<a href="?cmd=tags">tags</a>
|
||||
<a href="?cmd=changeset;node=#node#">changeset</a>
|
||||
<a href="?cmd=file;file=#file#;filenode=#filenode#">file</a>
|
||||
<a href="?cmd=filelog;file=#file#;filenode=#filenode#">revisions</a>
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
<div class="buttons">
|
||||
<a href="?cmd=changelog">changelog</a>
|
||||
<a href="?cmd=tags">tags</a>
|
||||
<a href="?cmd=file;file=#file#;filenode=#filenode#">file</a>
|
||||
<a href="?cmd=annotate;file=#file#;filenode=#filenode#">annotate</a>
|
||||
</div>
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
<div class="buttons">
|
||||
<a href="?cmd=changelog;rev=#rev#">changelog</a>
|
||||
<a href="?cmd=tags">tags</a>
|
||||
<a href="?cmd=changeset;node=#node#">changeset</a>
|
||||
<a href="?cmd=manifest;manifest=#manifest#;path=#path#">manifest</a>
|
||||
<a href="?cmd=filelog;file=#file#;filenode=#filenode#">revisions</a>
|
||||
|
@ -6,7 +6,7 @@ Content-type: text/html
|
||||
<style type="text/css">
|
||||
a { text-decoration:none; }
|
||||
.parity0 { background-color: #eeeeee; }
|
||||
.parity1 { background-color: #ffffff; }
|
||||
.parity1 { background-color: #f8f8f8; }
|
||||
.lineno { width: 60px; color: #cccccc; font-size: smaller; }
|
||||
.plusline { color: green; }
|
||||
.minusline { color: red; }
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
<div class="buttons">
|
||||
<a href="?cmd=changelog;rev=#rev#">changelog</a>
|
||||
<a href="?cmd=tags">tags</a>
|
||||
<a href="?cmd=changeset;node=#node#">changeset</a>
|
||||
</div>
|
||||
|
||||
|
@ -25,3 +25,5 @@ changelogparent = "<tr><td align="right">parent: </td><td><a href="?cmd=cha
|
||||
changesetparent = "<tr><td class="metatag">parent:</td><td><a href="?cmd=changeset;node=#node#">#node#</a></td></tr>"
|
||||
filerevparent = "<tr><td class="metatag">parent:</td><td><a href="?cmd=file;file=#file#;filenode=#node#">#node#</a></td></tr>"
|
||||
fileannotateparent = "<tr><td class="metatag">parent:</td><td><a href="?cmd=annotate;file=#file#;filenode=#node#">#node#</a></td></tr>"
|
||||
tags = tags.tmpl
|
||||
tagentry = "<div class="parity#parity#"><tt>#node#</tt> <a href="?cmd=changeset;node=#node#">#tag#</a><br /></div>"
|
||||
|
Loading…
Reference in New Issue
Block a user