]>
Commit | Line | Data |
---|---|---|
8ee378a0 JH |
1 | #!/bin/sh |
2 | # | |
3 | # Copyright (c) 2005 Junio C Hamano | |
4 | # | |
5 | ||
6 | test_description='git-pack-object | |
7 | ||
8 | ' | |
9 | . ./test-lib.sh | |
10 | ||
11 | TRASH=`pwd` | |
12 | ||
13 | test_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 | ||
27 | test_expect_success \ | |
28 | 'pack without delta' \ | |
29 | 'git-pack-objects --window=0 test-1 <obj-list' | |
30 | ||
31 | rm -fr .git2 | |
32 | mkdir .git2 | |
33 | ||
34 | test_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 | ||
41 | unset GIT_OBJECT_DIRECTORY | |
42 | cd $TRASH/.git2 | |
43 | ||
44 | test_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' | |
54 | cd $TRASH | |
55 | ||
56 | test_expect_success \ | |
57 | 'pack with delta' \ | |
58 | 'pwd && | |
59 | git-pack-objects test-2 <obj-list' | |
60 | ||
61 | rm -fr .git2 | |
62 | mkdir .git2 | |
63 | ||
64 | test_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 | ||
71 | unset GIT_OBJECT_DIRECTORY | |
72 | cd $TRASH/.git2 | |
73 | test_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' | |
83 | cd $TRASH | |
84 | ||
85 | test_done |