##// END OF EJS Templates
hgweb: add file permissions...
mpm@selenic.com -
r359:0c4688e9 default
parent child Browse files
Show More
@@ -130,6 +130,7 b' class hgweb:'
130 130 "addbreaks": nl2br,
131 131 "obfuscate": obfuscate,
132 132 "firstline": (lambda x: x.splitlines(1)[0]),
133 "permissions": (lambda x: x and "-rwxr-xr-x" or "-rw-r--r--")
133 134 }
134 135
135 136 def refresh(self):
@@ -376,13 +377,14 b' class hgweb:'
376 377 p1, p2 = fl.parents(n)
377 378 t = float(cs[2].split(' ')[0])
378 379 mfn = cs[0]
380 self.repo.manifest.read(mfn)
379 381
380 382 def lines():
381 383 for l, t in enumerate(text.splitlines(1)):
382 384 yield self.t("fileline", line = t,
383 385 linenumber = "% 6d" % (l + 1),
384 386 parity = l & 1)
385
387
386 388 yield self.t("filerevision", file = f,
387 389 header = self.header(),
388 390 footer = self.footer(),
@@ -400,6 +402,7 b' class hgweb:'
400 402 parent2 = self.parent("filerevparent",
401 403 hex(p2), fl.rev(p2), file=f),
402 404 p1 = hex(p1), p2 = hex(p2),
405 permissions = self.repo.manifest.readflags(mfn)[f],
403 406 p1rev = fl.rev(p1), p2rev = fl.rev(p2))
404 407
405 408 def fileannotate(self, f, node):
@@ -415,6 +418,7 b' class hgweb:'
415 418 p1, p2 = fl.parents(n)
416 419 t = float(cs[2].split(' ')[0])
417 420 mfn = cs[0]
421 self.repo.manifest.read(mfn)
418 422
419 423 def annotate():
420 424 parity = 1
@@ -465,12 +469,14 b' class hgweb:'
465 469 parent2 = self.parent("fileannotateparent",
466 470 hex(p2), fl.rev(p2), file=f),
467 471 p1 = hex(p1), p2 = hex(p2),
472 permissions = self.repo.manifest.readflags(mfn)[f],
468 473 p1rev = fl.rev(p1), p2rev = fl.rev(p2))
469 474
470 475 def manifest(self, mnode, path):
471 476 mf = self.repo.manifest.read(bin(mnode))
472 477 rev = self.repo.manifest.rev(bin(mnode))
473 478 node = self.repo.changelog.node(rev)
479 mff=self.repo.manifest.readflags(bin(mnode))
474 480
475 481 files = {}
476 482
@@ -500,7 +506,8 b' class hgweb:'
500 506 manifest = mnode,
501 507 filenode = hex(fnode),
502 508 parity = parity,
503 basename = f)
509 basename = f,
510 permissions = mff[full])
504 511 else:
505 512 yield self.t("manifestdirentry",
506 513 parity = parity,
@@ -29,6 +29,9 b''
29 29 <tr>
30 30 <td class="metatag">date:</td>
31 31 <td>#date|date# (#date|age# ago)</td></tr>
32 <tr>
33 <td class="metatag">permissions:</td>
34 <td>#permissions|permissions#</td></tr>
32 35 </table>
33 36
34 37 <br/>
@@ -30,6 +30,9 b''
30 30 <tr>
31 31 <td class="metatag">date:</td>
32 32 <td>#date|date# (#date|age# ago)</td></tr>
33 <tr>
34 <td class="metatag">permissions:</td>
35 <td>#permissions|permissions#</td></tr>
33 36 </table>
34 37
35 38 <pre>
@@ -11,7 +11,10 b''
11 11
12 12 <h2>manifest: #path#</h2>
13 13
14 <div class="parity1"><a href="?cmd=manifest;manifest=#manifest#;path=#up#">[up]</a><br /></div>
14 <table cellpadding="0" cellspacing="0">
15 <tr class="parity1">
16 <td><tt>drwxr-xr-x</tt>&nbsp;
17 <td><a href="?cmd=manifest;manifest=#manifest#;path=#up#">[up]</a>
15 18 #entries#
16
19 </table>
17 20 #footer#
@@ -8,8 +8,8 b' fileellipses = "..."'
8 8 changelogentry = changelogentry.tmpl
9 9 changeset = changeset.tmpl
10 10 manifest = manifest.tmpl
11 manifestdirentry = "<div class="parity#parity#"><a href="?cmd=manifest;manifest=#manifest#;path=#path#">#basename#/</a><br /></div>"
12 manifestfileentry = "<div class="parity#parity#"><a href="?cmd=file;filenode=#filenode#;file=#file#">#basename#</a><br /></div>"
11 manifestdirentry = "<tr class="parity#parity#"><td><tt>drwxr-xr-x</tt>&nbsp;<td><a href="?cmd=manifest;manifest=#manifest#;path=#path#">#basename#/</a>"
12 manifestfileentry = "<tr class="parity#parity#"><td><tt>#permissions|permissions#</tt>&nbsp;<td><a href="?cmd=file;filenode=#filenode#;file=#file#">#basename#</a>"
13 13 filerevision = filerevision.tmpl
14 14 fileannotate = fileannotate.tmpl
15 15 filediff = filediff.tmpl
General Comments 0
You need to be logged in to leave comments. Login now