X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=t%2Ft5000-tar-tree.sh;h=278eb6670116d0036413a81fc129615974458e5d;hb=143f4d94c6e2188a6bedfdfa268e66b579e3fbf9;hp=654c2df758a8779124cc8167f728080d4e478b39;hpb=d3d49c3d3559d4b5e79ae99fe485af48606d5cab;p=git.git diff --git a/t/t5000-tar-tree.sh b/t/t5000-tar-tree.sh old mode 100644 new mode 100755 index 654c2df7..278eb667 --- a/t/t5000-tar-tree.sh +++ b/t/t5000-tar-tree.sh @@ -5,17 +5,13 @@ test_description='git-tar-tree and git-get-tar-commit-id test -This test covers the topics of long paths, file contents, commit date -handling and commit id embedding: - - Paths longer than 100 characters require the use of a pax extended - header to store them. The test creates files with pathes both longer - and shorter than 100 chars, and also checks symlinks with long and - short pathes both as their own name and as target path. +This test covers the topics of file contents, commit date handling and +commit id embedding: The contents of the repository is compared to the extracted tar archive. The repository contains simple text files, symlinks and a - binary file (/bin/sh). + binary file (/bin/sh). Only pathes shorter than 99 characters are + used. git-tar-tree applies the commit date to every file in the archive it creates. The test sets the commit date to a specific value and checks @@ -29,34 +25,28 @@ handling and commit id embedding: ' . ./test-lib.sh +TAR=${TAR:-tar} test_expect_success \ 'populate workdir' \ 'mkdir a b c && - p48=1.......10........20........30........40......48 && - p50=1.......10........20........30........40........50 && - p98=${p48}${p50} && echo simple textfile >a/a && - echo 100 chars in path >a/${p98} && - echo 101 chars in path >a/${p98}x && - echo 102 chars in path >a/${p98}xx && - echo 103 chars in path >a/${p98}xxx && mkdir a/bin && - cp /bin/sh a/bin/sh && + cp /bin/sh a/bin && ln -s a a/l1 && - ln -s ${p98}xx a/l100 && - ln -s ${p98}xxx a/l101 && - ln -s ${p98}xxx a/l${p98} && + (p=long_path_to_a_file && cd a && + for depth in 1 2 3 4 5; do mkdir $p && cd $p; done && + echo text >file_with_long_path) && (cd a && find .) | sort >a.lst' test_expect_success \ 'add files to repository' \ - 'find a -type f | xargs git-update-cache --add && - find a -type l | xargs git-update-cache --add && + 'find a -type f | xargs git-update-index --add && + find a -type l | xargs git-update-index --add && treeid=`git-write-tree` && echo $treeid >treeid && - TZ= GIT_COMMITTER_DATE="2005-05-27 22:00:00" \ - git-commit-tree $treeid .git/HEAD' + git-update-ref HEAD $(TZ=GMT GIT_COMMITTER_DATE="2005-05-27 22:00:00" \ + git-commit-tree $treeid b.mtime && + 'TZ=GMT $TAR tvf b.tar a/a | + awk \{print\ \$4,\ \(length\(\$5\)\<7\)\ ?\ \$5\":00\"\ :\ \$5\} \ + >b.mtime && echo "2005-05-27 22:00:00" >expected.mtime && diff expected.mtime b.mtime' test_expect_success \ 'git-get-tar-commit-id' \ 'git-get-tar-commit-id b.commitid && - diff .git/HEAD b.commitid' + diff .git/$(git-symbolic-ref HEAD) b.commitid' test_expect_success \ 'extract tar archive' \ - '(cd b && tar xf -)