]> gitweb.ps.run Git - ps-cgit/commitdiff
Merge branch 'snapshot-fixes'
authorLars Hjemli <hjemli@gmail.com>
Sun, 11 Jan 2009 11:22:46 +0000 (12:22 +0100)
committerLars Hjemli <hjemli@gmail.com>
Sun, 11 Jan 2009 11:22:46 +0000 (12:22 +0100)
1  2 
tests/t0107-snapshot.sh
ui-snapshot.c

diff --combined tests/t0107-snapshot.sh
index c42091a2cf8544a6f42d5378f6096f5a2af77e9d,5f1b862ea9c1f4a879ef6767d5b90ae6479546fc..8ab4912a282b667fb19779138c7fe739acdfc321
@@@ -4,36 -4,36 +4,36 @@@
  
  prepare_tests "Verify snapshot"
  
- run_test 'get foo/snapshot/test.tar.gz' '
-       cgit_url "foo/snapshot/test.tar.gz" >trash/tmp
+ run_test 'get foo/snapshot/master.tar.gz' '
+       cgit_url "foo/snapshot/master.tar.gz" >trash/tmp
  '
  
  run_test 'check html headers' '
        head -n 1 trash/tmp |
 -           grep -e "Content-Type: application/x-tar" &&
 +           grep -e "Content-Type: application/x-gzip" &&
  
        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' '
-        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' '
-       rm -rf trash/foo &&
-       tar -xf trash/test.tar.gz -C trash
+       rm -rf trash/master &&
+       tar -xf trash/master.tar.gz -C trash
  '
  
  run_test 'count files' '
-       c=$(ls -1 trash/foo/ | wc -l) &&
+       c=$(ls -1 trash/master/ | wc -l) &&
        test $c = 5
  '
  
  run_test 'verify untarred file-5' '
-        grep -e "^5$" trash/foo/file-5 &&
-        test $(cat trash/foo/file-5 | wc -l) = 1
+        grep -e "^5$" trash/master/file-5 &&
+        test $(cat trash/master/file-5 | wc -l) = 1
  '
  
  tests_done
diff --combined ui-snapshot.c
index 5f813fc1d99bae806cd5f91028c68b2650c18099,f98f5d74bf46ead3077bd79a975703d9bb016c83..f25613e9d6c98530e48c1814305000d22ebbb44f
@@@ -58,8 -58,8 +58,8 @@@ static int write_tar_bzip2_archive(stru
  
  const struct cgit_snapshot_format cgit_snapshot_formats[] = {
        { ".zip", "application/x-zip", write_zip_archive, 0x1 },
 -      { ".tar.gz", "application/x-tar", write_tar_gzip_archive, 0x2 },
 -      { ".tar.bz2", "application/x-tar", write_tar_bzip2_archive, 0x4 },
 +      { ".tar.gz", "application/x-gzip", write_tar_gzip_archive, 0x2 },
 +      { ".tar.bz2", "application/x-bzip2", write_tar_bzip2_archive, 0x4 },
        { ".tar", "application/x-tar", write_tar_archive, 0x8 },
        {}
  };
@@@ -175,10 -175,12 +175,12 @@@ void cgit_print_snapshot(const char *he
  
        if (!hex && dwim) {
                hex = get_ref_from_filename(ctx.repo->url, filename, f);
-               if (hex != NULL) {
-                       prefix = xstrdup(filename);
-                       prefix[strlen(filename) - strlen(f->suffix)] = '\0';
+               if (hex == NULL) {
+                       html_status(404, "Not found", 0);
+                       return;
                }
+               prefix = xstrdup(filename);
+               prefix[strlen(filename) - strlen(f->suffix)] = '\0';
        }
  
        if (!hex)