t / t5300-pack-object.shon commit git-pack-objects: use name information (if any) to sort objects for packing. (27225f2)
   1#!/bin/sh
   2#
   3# Copyright (c) 2005 Junio C Hamano
   4#
   5
   6test_description='git-pack-object
   7
   8'
   9. ./test-lib.sh
  10
  11TRASH=`pwd`
  12
  13test_expect_success \
  14    'setup' \
  15    'rm -f .git/index*
  16     for i in a b c
  17     do
  18             dd if=/dev/zero bs=4k count=1 | tr "\\0" $i >$i &&
  19             git-update-cache --add $i || exit
  20     done &&
  21     cat c >d && echo foo >>d && git-update-cache --add d &&
  22     tree=`git-write-tree` && {
  23         echo $tree &&
  24         git-ls-tree $tree | sed -e "s/.* \\([0-9a-f]*\\)       .*/\\1/"
  25     } >obj-list'
  26
  27test_expect_success \
  28    'pack without delta' \
  29    'git-pack-objects --window=0 test-1 <obj-list'
  30
  31rm -fr .git2
  32mkdir .git2
  33
  34test_expect_success \
  35    'unpack without delta' \
  36    'GIT_OBJECT_DIRECTORY=.git2/objects &&
  37     export GIT_OBJECT_DIRECTORY &&
  38     git-init-db &&
  39     git-unpack-objects test-1'
  40
  41unset GIT_OBJECT_DIRECTORY
  42cd $TRASH/.git2
  43
  44test_expect_success \
  45    'check unpack without delta' \
  46    '(cd ../.git && find objects -type f -print) |
  47     while read path
  48     do
  49         cmp $path ../.git/$path || {
  50             echo $path differs.
  51             exit 1
  52         }
  53     done'
  54cd $TRASH
  55
  56test_expect_success \
  57    'pack with delta' \
  58    'pwd &&
  59     git-pack-objects test-2 <obj-list'
  60
  61rm -fr .git2
  62mkdir .git2
  63
  64test_expect_success \
  65    'unpack with delta' \
  66    'GIT_OBJECT_DIRECTORY=.git2/objects &&
  67     export GIT_OBJECT_DIRECTORY &&
  68     git-init-db &&
  69     git-unpack-objects test-2'
  70
  71unset GIT_OBJECT_DIRECTORY
  72cd $TRASH/.git2
  73test_expect_success \
  74    'check unpack with delta' \
  75    '(cd ../.git && find objects -type f -print) |
  76     while read path
  77     do
  78         cmp $path ../.git/$path || {
  79             echo $path differs.
  80             exit 1
  81         }
  82     done'
  83cd $TRASH
  84
  85test_done