# HG changeset patch # User mpm@selenic.com # Date 1118859626 28800 # Node ID 0c4688e9ee5cb4dd09ca9def3db4241233ff2b05 # Parent 9f4077d7ef6fd889f1cc8434701b24f53784ee87 hgweb: add file permissions -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 hgweb: add file permissions From: Goffredo Baroncelli Show permissions in hgweb Tweaked by mpm manifest hash: f11361c6da21f3ba60c5e6a173396754c36efb1d -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCsHFqywK+sNU5EO8RAoqFAJ44P8kZoZDiY5Fw8LWpL/3ArXNE2QCeO3z4 0zV5rXWa/r/xgf+AVTLeQ/4= =FzLj -----END PGP SIGNATURE----- diff -r 9f4077d7ef6f -r 0c4688e9ee5c mercurial/hgweb.py --- a/mercurial/hgweb.py Wed Jun 15 10:06:40 2005 -0800 +++ b/mercurial/hgweb.py Wed Jun 15 10:20:26 2005 -0800 @@ -130,6 +130,7 @@ "addbreaks": nl2br, "obfuscate": obfuscate, "firstline": (lambda x: x.splitlines(1)[0]), + "permissions": (lambda x: x and "-rwxr-xr-x" or "-rw-r--r--") } def refresh(self): @@ -376,13 +377,14 @@ p1, p2 = fl.parents(n) t = float(cs[2].split(' ')[0]) mfn = cs[0] + self.repo.manifest.read(mfn) def lines(): for l, t in enumerate(text.splitlines(1)): yield self.t("fileline", line = t, linenumber = "% 6d" % (l + 1), parity = l & 1) - + yield self.t("filerevision", file = f, header = self.header(), footer = self.footer(), @@ -400,6 +402,7 @@ parent2 = self.parent("filerevparent", hex(p2), fl.rev(p2), file=f), p1 = hex(p1), p2 = hex(p2), + permissions = self.repo.manifest.readflags(mfn)[f], p1rev = fl.rev(p1), p2rev = fl.rev(p2)) def fileannotate(self, f, node): @@ -415,6 +418,7 @@ p1, p2 = fl.parents(n) t = float(cs[2].split(' ')[0]) mfn = cs[0] + self.repo.manifest.read(mfn) def annotate(): parity = 1 @@ -465,12 +469,14 @@ parent2 = self.parent("fileannotateparent", hex(p2), fl.rev(p2), file=f), p1 = hex(p1), p2 = hex(p2), + permissions = self.repo.manifest.readflags(mfn)[f], p1rev = fl.rev(p1), p2rev = fl.rev(p2)) def manifest(self, mnode, path): mf = self.repo.manifest.read(bin(mnode)) rev = self.repo.manifest.rev(bin(mnode)) node = self.repo.changelog.node(rev) + mff=self.repo.manifest.readflags(bin(mnode)) files = {} @@ -500,7 +506,8 @@ manifest = mnode, filenode = hex(fnode), parity = parity, - basename = f) + basename = f, + permissions = mff[full]) else: yield self.t("manifestdirentry", parity = parity, diff -r 9f4077d7ef6f -r 0c4688e9ee5c templates/fileannotate.tmpl --- a/templates/fileannotate.tmpl Wed Jun 15 10:06:40 2005 -0800 +++ b/templates/fileannotate.tmpl Wed Jun 15 10:20:26 2005 -0800 @@ -29,6 +29,9 @@ date: #date|date# (#date|age# ago) + + permissions: + #permissions|permissions#
diff -r 9f4077d7ef6f -r 0c4688e9ee5c templates/filerevision.tmpl --- a/templates/filerevision.tmpl Wed Jun 15 10:06:40 2005 -0800 +++ b/templates/filerevision.tmpl Wed Jun 15 10:20:26 2005 -0800 @@ -30,6 +30,9 @@ date: #date|date# (#date|age# ago) + + permissions: + #permissions|permissions#
diff -r 9f4077d7ef6f -r 0c4688e9ee5c templates/manifest.tmpl
--- a/templates/manifest.tmpl	Wed Jun 15 10:06:40 2005 -0800
+++ b/templates/manifest.tmpl	Wed Jun 15 10:20:26 2005 -0800
@@ -11,7 +11,10 @@
 
 

manifest: #path#

- + + +
drwxr-xr-x  + [up] #entries# - +
#footer# diff -r 9f4077d7ef6f -r 0c4688e9ee5c templates/map --- a/templates/map Wed Jun 15 10:06:40 2005 -0800 +++ b/templates/map Wed Jun 15 10:20:26 2005 -0800 @@ -8,8 +8,8 @@ changelogentry = changelogentry.tmpl changeset = changeset.tmpl manifest = manifest.tmpl -manifestdirentry = "" -manifestfileentry = "" +manifestdirentry = "drwxr-xr-x #basename#/" +manifestfileentry = "#permissions|permissions# #basename#" filerevision = filerevision.tmpl fileannotate = fileannotate.tmpl filediff = filediff.tmpl