Mercurial > hg
view tests/test-branch-option @ 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 | 3d6915f5a2bb |
children |
line wrap: on
line source
#!/bin/sh # test branch selection options hg init branch cd branch hg branch a echo a > foo hg ci -d '0 0' -Ama echo a2 > foo hg ci -d '0 0' -ma2 hg up 0 hg branch c echo c > foo hg ci -d '0 0' -mc hg tag -l z cd .. hg clone -r 0 branch branch2 cd branch2 hg up 0 hg branch b echo b > foo hg ci -d '0 0' -mb hg up 0 hg --encoding utf-8 branch æ echo ae1 > foo hg ci -d '0 0' -mae1 hg up 0 hg --encoding utf-8 branch -f æ echo ae2 > foo hg ci -d '0 0' -mae2 hg up 0 hg branch -f b echo b2 > foo hg ci -d '0 0' -mb2 echo unknown branch and fallback hg in -qbz hg in -q ../branch#z hg out -qbz echo in rev c branch a hg in -qr c ../branch#a hg in -qr c -b a echo out branch . hg out -q ../branch#. hg out -q -b . echo out branch . non-ascii hg --encoding utf-8 up æ hg --encoding latin1 out -q ../branch#. hg --encoding latin1 out -q -b . echo clone branch b cd .. hg clone branch2#b branch3 hg -q -R branch3 heads b hg -q -R branch3 parents rm -rf branch3 echo clone rev a branch b hg clone -r a branch2#b branch3 hg -q -R branch3 heads b hg -q -R branch3 parents rm -rf branch3