{"thread":{"id":"7274","subject":"[PATCH] add test for OFS_DELTA objects","startedAt":"2007-03-16T17:50:18Z","lastAt":"2007-03-16T17:50:18Z","messageCount":1,"participants":["Nicolas Pitre"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"37265","messageId":"alpine.LFD.0.83.0703161346560.18328@xanadu.home","threadId":"7274","inReplyTo":null,"subject":"[PATCH] add test for OFS_DELTA objects","fromName":"Nicolas Pitre","fromEmail":"nico@cam.org","sentAt":"2007-03-16T17:50:18Z","receivedAt":"2007-03-16T17:50:18Z","isPatch":true,"sender":{"key":"nico@fluxnic.net","avatar":"https://avatars.githubusercontent.com/u/702790?v=4"},"body":"Make sure pack-objects with --delta-base-offset works fine, and that\nit actually produces smaller packs as expected.\n\nSigned-off-by: Nicolas Pitre <nico@cam.org>\n---\n\ndiff --git a/t/t5300-pack-object.sh b/t/t5300-pack-object.sh\nindex 17befde..eacb1e9 100755\n--- a/t/t5300-pack-object.sh\n+++ b/t/t5300-pack-object.sh\n@@ -64,7 +64,7 @@ test_expect_success \\\n cd \"$TRASH\"\n \n test_expect_success \\\n-    'pack with delta' \\\n+    'pack with REF_DELTA' \\\n     'pwd &&\n      packname_2=$(git-pack-objects test-2 <obj-list)'\n \n@@ -72,7 +72,7 @@ rm -fr .git2\n mkdir .git2\n \n test_expect_success \\\n-    'unpack with delta' \\\n+    'unpack with REF_DELTA' \\\n     'GIT_OBJECT_DIRECTORY=.git2/objects &&\n      export GIT_OBJECT_DIRECTORY &&\n      git-init &&\n@@ -82,7 +82,7 @@ test_expect_success \\\n unset GIT_OBJECT_DIRECTORY\n cd \"$TRASH/.git2\"\n test_expect_success \\\n-    'check unpack with delta' \\\n+    'check unpack with REF_DELTA' \\\n     '(cd ../.git && find objects -type f -print) |\n      while read path\n      do\n@@ -93,6 +93,42 @@ test_expect_success \\\n      done'\n cd \"$TRASH\"\n \n+test_expect_success \\\n+    'pack with OFS_DELTA' \\\n+    'pwd &&\n+     packname_3=$(git-pack-objects --delta-base-offset test-3 <obj-list)'\n+\n+rm -fr .git2\n+mkdir .git2\n+\n+test_expect_success \\\n+    'unpack with OFS_DELTA' \\\n+    'GIT_OBJECT_DIRECTORY=.git2/objects &&\n+     export GIT_OBJECT_DIRECTORY &&\n+     git-init &&\n+     git-unpack-objects -n <test-3-${packname_3}.pack &&\n+     git-unpack-objects <test-3-${packname_3}.pack'\n+\n+unset GIT_OBJECT_DIRECTORY\n+cd \"$TRASH/.git2\"\n+test_expect_success \\\n+    'check unpack with OFS_DELTA' \\\n+    '(cd ../.git && find objects -type f -print) |\n+     while read path\n+     do\n+         cmp $path ../.git/$path || {\n+\t     echo $path differs.\n+\t     return 1\n+\t }\n+     done'\n+cd \"$TRASH\"\n+\n+test_expect_success \\\n+    'compare delta flavors' \\\n+    'size_2=`stat -c \"%s\" test-2-${packname_2}.pack` &&\n+     size_3=`stat -c \"%s\" test-3-${packname_3}.pack` &&\n+     test $size_2 -gt $size_3'\n+\n rm -fr .git2\n mkdir .git2\n \n@@ -111,9 +147,8 @@ test_expect_success \\\n     } >current &&\n     diff expect current'\n \n-\n test_expect_success \\\n-    'use packed deltified objects' \\\n+    'use packed deltified (REF_DELTA) objects' \\\n     'GIT_OBJECT_DIRECTORY=.git2/objects &&\n      export GIT_OBJECT_DIRECTORY &&\n      rm .git2/objects/pack/test-* &&\n@@ -127,11 +162,28 @@ test_expect_success \\\n     } >current &&\n     diff expect current'\n \n+test_expect_success \\\n+    'use packed deltified (OFS_DELTA) objects' \\\n+    'GIT_OBJECT_DIRECTORY=.git2/objects &&\n+     export GIT_OBJECT_DIRECTORY &&\n+     rm .git2/objects/pack/test-* &&\n+     cp test-3-${packname_3}.pack test-3-${packname_3}.idx .git2/objects/pack && {\n+\t git-diff-tree --root -p $commit &&\n+\t while read object\n+\t do\n+\t    t=`git-cat-file -t $object` &&\n+\t    git-cat-file $t $object || return 1\n+\t done <obj-list\n+    } >current &&\n+    diff expect current'\n+\n unset GIT_OBJECT_DIRECTORY\n \n test_expect_success \\\n     'verify pack' \\\n-    'git-verify-pack test-1-${packname_1}.idx test-2-${packname_2}.idx'\n+    'git-verify-pack\ttest-1-${packname_1}.idx \\\n+\t\t\ttest-2-${packname_2}.idx \\\n+\t\t\ttest-3-${packname_3}.idx'\n \n test_expect_success \\\n     'corrupt a pack and see if verify catches' \\\n@@ -194,6 +246,13 @@ test_expect_success \\\n      git-index-pack test-3.pack &&\n      cmp test-3.idx test-2-${packname_2}.idx &&\n \n+     cp test-3-${packname_3}.pack test-3.pack &&\n+     git-index-pack -o tmp.idx test-3-${packname_3}.pack &&\n+     cmp tmp.idx test-3-${packname_3}.idx &&\n+\n+     git-index-pack test-3.pack &&\n+     cmp test-3.idx test-3-${packname_3}.idx &&\n+\n      :'\n \n test_done\n"}]}