Merge branch 'snapshot-fixes'

This commit is contained in:
Lars Hjemli 2009-01-11 12:22:46 +01:00
bovenliggende 7f7c1ddd37 7bbc274585
commit aa60ae12cb
2 gewijzigde bestanden met toevoegingen van 15 en 13 verwijderingen

Bestand weergeven

@ -4,8 +4,8 @@
prepare_tests "Verify snapshot" prepare_tests "Verify snapshot"
run_test 'get foo/snapshot/test.tar.gz' ' run_test 'get foo/snapshot/master.tar.gz' '
cgit_url "foo/snapshot/test.tar.gz" >trash/tmp cgit_url "foo/snapshot/master.tar.gz" >trash/tmp
' '
run_test 'check html headers' ' run_test 'check html headers' '
@ -13,27 +13,27 @@ run_test 'check html headers' '
grep -e "Content-Type: application/x-gzip" && grep -e "Content-Type: application/x-gzip" &&
head -n 2 trash/tmp | head -n 2 trash/tmp |
grep -e "Content-Disposition: inline; filename=.test.tar.gz." grep -e "Content-Disposition: inline; filename=.master.tar.gz."
' '
run_test 'strip off the header lines' ' run_test 'strip off the header lines' '
tail -n +6 trash/tmp > trash/test.tar.gz tail -n +6 trash/tmp > trash/master.tar.gz
' '
run_test 'verify gzip format' 'gunzip --test trash/test.tar.gz' run_test 'verify gzip format' 'gunzip --test trash/master.tar.gz'
run_test 'untar' ' run_test 'untar' '
rm -rf trash/foo && rm -rf trash/master &&
tar -xf trash/test.tar.gz -C trash tar -xf trash/master.tar.gz -C trash
' '
run_test 'count files' ' run_test 'count files' '
c=$(ls -1 trash/foo/ | wc -l) && c=$(ls -1 trash/master/ | wc -l) &&
test $c = 5 test $c = 5
' '
run_test 'verify untarred file-5' ' run_test 'verify untarred file-5' '
grep -e "^5$" trash/foo/file-5 && grep -e "^5$" trash/master/file-5 &&
test $(cat trash/foo/file-5 | wc -l) = 1 test $(cat trash/master/file-5 | wc -l) = 1
' '
tests_done tests_done

Bestand weergeven

@ -175,11 +175,13 @@ void cgit_print_snapshot(const char *head, const char *hex,
if (!hex && dwim) { if (!hex && dwim) {
hex = get_ref_from_filename(ctx.repo->url, filename, f); hex = get_ref_from_filename(ctx.repo->url, filename, f);
if (hex != NULL) { if (hex == NULL) {
html_status(404, "Not found", 0);
return;
}
prefix = xstrdup(filename); prefix = xstrdup(filename);
prefix[strlen(filename) - strlen(f->suffix)] = '\0'; prefix[strlen(filename) - strlen(f->suffix)] = '\0';
} }
}
if (!hex) if (!hex)
hex = head; hex = head;