Browse Source

t9502: do not assume GNU tar

The check_snapshot function makes sure that no cruft outside the
repository hierarchy is added to the tar archive.  The output from
"tar tf" on the resulting archive is inspected to see if there is
anything that does not begin with "$prefix/".

There are two issues with this implementation:

 - Traditional tar implemenations that do not understand
   pax_global_header will write it out as if it is a plain file at
   the top-level;

 - Some implementations of tar do not add trailing slash when
   showing a directory entry (i.e. the output line for the entire
   archive will show "$prefix", not "$prefix/").

Fix them so that what we want to validate can be tested with
traditional tar implementations.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Junio C Hamano 12 years ago
parent
commit
2060ed50e7
  1. 2
      t/t9502-gitweb-standalone-parse-output.sh

2
t/t9502-gitweb-standalone-parse-output.sh

@ -40,7 +40,7 @@ check_snapshot () { @@ -40,7 +40,7 @@ check_snapshot () {
echo "basename=$basename"
grep "filename=.*$basename.tar" gitweb.headers >/dev/null 2>&1 &&
"$TAR" tf gitweb.body >file_list &&
! grep -v "^$prefix/" file_list
! grep -v -e "^$prefix$" -e "^$prefix/" -e "^pax_global_header$" file_list
}

test_expect_success setup '

Loading…
Cancel
Save