Merge with crew
authorMatt Mackall <mpm@selenic.com>
Thu, 08 Mar 2007 16:13:16 -0600
changeset 4165 0d0f098e5d51
parent 4163 fe41d9a186ab (current diff)
parent 4164 5c1e18bb804c (diff)
child 4166 c0271aba6abe
Merge with crew
--- a/mercurial/hgweb/hgweb_mod.py	Thu Mar 08 16:12:52 2007 -0600
+++ b/mercurial/hgweb/hgweb_mod.py	Thu Mar 08 16:13:16 2007 -0600
@@ -606,9 +606,13 @@
         'zip': ('application/zip', 'zip', '.zip', None),
         }
 
-    def archive(self, req, cnode, type_):
+    def archive(self, req, id, type_):
         reponame = re.sub(r"\W+", "-", os.path.basename(self.reponame))
-        name = "%s-%s" % (reponame, short(cnode))
+        cnode = self.repo.lookup(id)
+        arch_version = id
+        if cnode == id:
+            arch_version = short(cnode)
+        name = "%s-%s" % (reponame, arch_version)
         mimetype, artype, extension, encoding = self.archive_specs[type_]
         headers = [('Content-type', mimetype),
                    ('Content-disposition', 'attachment; filename=%s%s' %
@@ -989,12 +993,11 @@
         req.write(z.flush())
 
     def do_archive(self, req):
-        changeset = self.repo.lookup(req.form['node'][0])
         type_ = req.form['type'][0]
         allowed = self.configlist("web", "allow_archive")
         if (type_ in self.archives and (type_ in allowed or
             self.configbool("web", "allow" + type_, False))):
-            self.archive(req, changeset, type_)
+            self.archive(req, req.form['node'][0], type_)
             return
 
         req.write(self.t("error"))