Mercurial > hg
view tests/test-log @ 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 | 28ddf67198b2 |
children |
line wrap: on
line source
#!/bin/sh hg init a cd a echo a > a hg ci -Ama -d '1 0' hg cp a b hg ci -mb -d '2 0' mkdir dir hg mv b dir hg ci -mc -d '3 0' hg mv a b echo a > d hg add d hg ci -md -d '4 0' hg mv dir/b e hg ci -me -d '5 0' hg log a echo % -f, directory hg log -f dir echo % -f, but no args hg log -f echo % one rename hg log -vf a echo % many renames hg log -vf e echo % log -pf dir/b hg log -pf dir/b echo % log -vf dir/b hg log -vf dir/b echo '% log copies with --copies' hg log -vC --template '{rev} {file_copies}\n' echo '% log copies switch without --copies, with old filecopy template' hg log -v --template '{rev} {file_copies_switch%filecopy}\n' echo '% log copies switch with --copies' hg log -vC --template '{rev} {file_copies_switch}\n' echo '% log copies with hardcoded style and with --style=default' hg log -vC -r4 hg log -vC -r4 --style=default echo % log copies, non-linear manifest hg up -C 3 hg mv dir/b e echo foo > foo hg ci -Ame2 -d '6 0' hg log -v --template '{rev} {file_copies}\n' -r 5 echo % log copies, execute bit set chmod +x e hg ci -me3 -d '7 0' hg log -v --template '{rev} {file_copies}\n' -r 6 echo '% log -p d' hg log -pv d # log --follow tests hg init ../follow cd ../follow echo base > base hg ci -Ambase -d '1 0' echo r1 >> base hg ci -Amr1 -d '1 0' echo r2 >> base hg ci -Amr2 -d '1 0' hg up -C 1 echo b1 > b1 hg ci -Amb1 -d '1 0' echo % log -f hg log -f hg up -C 0 echo b2 > b2 hg ci -Amb2 -d '1 0' echo % log -f -r 1:tip hg log -f -r 1:tip hg up -C 3 hg merge tip echo % log -r . with two parents hg log -r . hg ci -mm12 -d '1 0' echo % log -r . with one parent hg log -r . echo postm >> b1 hg ci -Amb1.1 -d'1 0' echo % log --follow-first hg log --follow-first echo % log -P 2 hg log -P 2 echo '% log -r tip -p --git' hg log -r tip -p --git echo '% log -r ""' hg log -r '' echo '% log -r <some unknown node id>' hg log -r 1000000000000000000000000000000000000000 echo '% log -k r1' hg log -k r1 echo '% log -d -1' hg log -d -1 echo '% log -p -l2 --color=always' hg --config extensions.color= --config color.mode=ansi \ log -p -l2 --color=always echo '% log -r tip --stat' hg log -r tip --stat cd .. hg init usertest cd usertest echo a > a hg ci -A -m "a" -u "User One <user1@example.org>" echo b > b hg ci -A -m "b" -u "User Two <user2@example.org>" hg log -u "User One <user1@example.org>" hg log -u "user1" -u "user2" hg log -u "user3" cd .. hg init branches cd branches echo a > a hg ci -A -m "commit on default" hg branch test echo b > b hg ci -A -m "commit on test" hg up default echo c > c hg ci -A -m "commit on default" hg up test echo c > c hg ci -A -m "commit on test" echo '% log -b default' hg log -b default echo '% log -b test' hg log -b test echo '% log -b dummy' hg log -b dummy echo '% log -b .' hg log -b . echo '% log -b default -b test' hg log -b default -b test echo '% log -b default -b .' hg log -b default -b . echo '% log -b . -b test' hg log -b . -b test echo '% log -b 2' hg log -b 2 echo '% log -p --cwd dir (in subdir)' mkdir dir hg log -p --cwd dir echo '% log -p -R repo' cd dir hg log -p -R .. ../a cd .. echo '% issue2383' hg init issue2383 cd issue2383 echo a > a hg ci -Am0 echo b > b hg ci -Am1 hg co 0 echo b > a hg ci -m2 hg merge echo c > a hg ci -m3 echo echo % diff hg diff --rev 2:3 echo echo % log hg log -vpr 3 cd ..