Mercurial > hg
view tests/test-revset @ 12570:a72c5ff1260c stable
Correct Content-Type header values for archive downloads.
The content type for both .tar.gz and .tar.bz2 downloads was
application/x-tar, which is correct for .tar files when no
Content-Encoding is present, but is not correct for .tar.gz and .tar.bz2
files unless Content-Encoding is set to gzip or x-bzip2, respectively.
However, setting Content-Encoding causes browsers to undo that encoding
during download, when a .gz or .bz2 file is usually the desired
artifact. Omitting the Content-Encoding header is preferred to avoid
having browsers uncompress non-render-able files.
Additionally, the Content-Disposition line indicates a final desired
filename with .tar.gz or .tar.bz2 extension which makes providing a
Content-Encoding header inappropriate.
With the current configuration browsers (Chrome and Firefox thus far)
are registering the application/x-tar Content-Type and not .tar
extension and appending that extension, yielding filename.tar.gz.tar as
a final on-disk artifact. This was originally reported here:
http://stackoverflow.com/questions/3753659
I've changed the .tar.gz and .tar.bz2 Content-Type values to
application/x-gzip and application/x-bzip2, respectively. Which yields
correctly named download artifacts on Firefox, Chrome, and IE.
author | Ry4an Brase <ry4an-hg@ry4an.org> |
---|---|
date | Mon, 20 Sep 2010 14:56:08 -0500 |
parents | 40c40c6f20b8 |
children |
line wrap: on
line source
#!/bin/sh HGENCODING=utf-8 export HGENCODING try() { echo '% hg debugrevspec' $@ hg debugrevspec --debug $@ } log() { echo "% log '$1'" hg log --template '{rev}\n' -r "$1" } hg init repo cd repo echo a > a hg branch a hg ci -Aqm0 echo b > b hg branch b hg ci -Aqm1 rm a hg branch a-b-c- hg ci -Aqm2 -u Bob hg co 1 hg branch +a+b+c+ hg ci -Aqm3 hg co 2 # interleave echo bb > b hg branch -- -a-b-c- hg ci -Aqm4 -d "May 12 2005" hg co 3 hg branch /a/b/c/ hg ci -Aqm"5 bug" hg merge 4 hg branch _a_b_c_ hg ci -Aqm"6 issue619" hg branch .a.b.c. hg ci -Aqm7 hg branch all hg ci --close-branch -Aqm8 hg co 4 hg branch é hg ci -Aqm9 hg tag -r6 1.0 hg clone --quiet -U -r 7 . ../remote1 hg clone --quiet -U -r 8 . ../remote2 echo "[paths]" >> .hg/hgrc echo "default = ../remote1" >> .hg/hgrc # names that should work without quoting try a try b-a try _a_b_c_ try _a_b_c_-a try .a.b.c. try .a.b.c.-a try -- '-a-b-c-' # complains log -a-b-c- # succeeds with fallback try -- -a-b-c--a # complains try é # quoting needed try '"-a-b-c-"-a' log '1 or 2' log '1|2' log '1 and 2' log '1&2' try '1&2|3' # precedence - and is higher try '1|2&3' try '1&2&3' # associativity try '1|(2|3)' log '1.0' # tag log 'a' # branch log '2785f51ee' log 'date(2005)' log 'date(this is a test)' log 'date()' log 'date' log 'date(' log 'date(tip)' log '"date"' log 'date(2005) and 1::' log 'ancestor(1)' log 'ancestor(4,5)' log 'ancestor(4,5) and 4' log 'ancestors(5)' log 'author(bob)' log 'branch(é)' log 'children(ancestor(4,5))' log 'closed()' log 'contains(a)' log 'descendants(2 or 3)' log 'file(b)' log 'follow()' log 'grep("issue\d+")' try 'grep("(")' # invalid regular expression log 'head()' log 'heads(6::)' log 'keyword(issue)' log 'limit(head(), 1)' log 'max(contains(a))' log 'merge()' log 'modifies(b)' log 'outgoing()' log 'outgoing("../remote1")' log 'outgoing("../remote2")' log 'p1(merge())' log 'p2(merge())' log 'parents(merge())' log 'removes(a)' log 'roots(all())' log 'reverse(2 or 3 or 4 or 5)' log 'sort(limit(reverse(all()), 3))' log 'sort(2 or 3 or 4 or 5, date)' log 'tagged()' log 'user(bob)' log '4::8' log '4:8' log 'sort(!merge() & (modifies(b) | user(bob) | keyword(bug) | keyword(issue) & 1::9), "-date")' log 'not 0 and 0:2' log 'not 1 and 0:2' log 'not 2 and 0:2' log '(1 and 2)::' log '(1 and 2):' log '(1 and 2):3' log 'sort(head(), -rev)'