]>
Commit | Line | Data |
---|---|---|
2ae6c706 JS |
1 | #!/bin/sh |
2 | # | |
3 | # Copyright (c) 2005 Johannes Schindelin | |
4 | # | |
5 | ||
6 | test_description='Test git-rev-parse with different parent options' | |
7 | ||
8 | . ./test-lib.sh | |
9 | ||
10 | echo "Hello World" > hello | |
11 | echo "Silly example" > example | |
12 | ||
13 | git-update-index --add hello example | |
14 | ||
15 | test_expect_success 'blob' "test blob = \"$(git-cat-file -t 557db03)\"" | |
16 | ||
17 | test_expect_success 'blob 557db03' "test \"Hello World\" = \"$(git-cat-file blob 557db03)\"" | |
18 | ||
19 | echo "It's a new day for git" >>hello | |
20 | cat > diff.expect << EOF | |
21 | diff --git a/hello b/hello | |
22 | index 557db03..263414f 100644 | |
23 | --- a/hello | |
24 | +++ b/hello | |
25 | @@ -1 +1,2 @@ | |
26 | Hello World | |
27 | +It's a new day for git | |
28 | EOF | |
29 | git-diff-files -p > diff.output | |
30 | test_expect_success 'git-diff-files -p' 'cmp diff.expect diff.output' | |
31 | git diff > diff.output | |
32 | test_expect_success 'git diff' 'cmp diff.expect diff.output' | |
33 | ||
34 | tree=$(git-write-tree 2>/dev/null) | |
35 | ||
36 | test_expect_success 'tree' "test 8988da15d077d4829fc51d8544c097def6644dbb = $tree" | |
37 | ||
38 | output="$(echo "Initial commit" | git-commit-tree $(git-write-tree) 2>&1 > .git/refs/heads/master)" | |
39 | ||
40 | test_expect_success 'commit' "test 'Committing initial tree 8988da15d077d4829fc51d8544c097def6644dbb' = \"$output\"" | |
41 | ||
42 | git-diff-index -p HEAD > diff.output | |
43 | test_expect_success 'git-diff-index -p HEAD' 'cmp diff.expect diff.output' | |
44 | ||
45 | git diff HEAD > diff.output | |
46 | test_expect_success 'git diff HEAD' 'cmp diff.expect diff.output' | |
47 | ||
48 | #rm hello | |
49 | #test_expect_success 'git-read-tree --reset HEAD' "git-read-tree --reset HEAD ; test \"hello: needs update\" = \"$(git-update-index --refresh)\"" | |
50 | ||
51 | cat > whatchanged.expect << EOF | |
91539833 | 52 | commit VARIABLE |
2ae6c706 JS |
53 | Author: VARIABLE |
54 | Date: VARIABLE | |
55 | ||
56 | Initial commit | |
57 | ||
58 | diff --git a/example b/example | |
59 | new file mode 100644 | |
60 | index 0000000..f24c74a | |
61 | --- /dev/null | |
62 | +++ b/example | |
63 | @@ -0,0 +1 @@ | |
64 | +Silly example | |
65 | diff --git a/hello b/hello | |
66 | new file mode 100644 | |
67 | index 0000000..557db03 | |
68 | --- /dev/null | |
69 | +++ b/hello | |
70 | @@ -0,0 +1 @@ | |
71 | +Hello World | |
72 | EOF | |
73 | ||
74 | git-whatchanged -p --root | \ | |
91539833 | 75 | sed -e "1s/^\(.\{7\}\).\{40\}/\1VARIABLE/" \ |
2ae6c706 JS |
76 | -e "2,3s/^\(.\{8\}\).*$/\1VARIABLE/" \ |
77 | > whatchanged.output | |
78 | test_expect_success 'git-whatchanged -p --root' 'cmp whatchanged.expect whatchanged.output' | |
79 | ||
80 | git tag my-first-tag | |
81 | test_expect_success 'git tag my-first-tag' 'cmp .git/refs/heads/master .git/refs/tags/my-first-tag' | |
82 | ||
83 | # TODO: test git-clone | |
84 | ||
85 | git checkout -b mybranch | |
86 | test_expect_success 'git checkout -b mybranch' 'cmp .git/refs/heads/master .git/refs/heads/mybranch' | |
87 | ||
88 | cat > branch.expect <<EOF | |
89 | master | |
90 | * mybranch | |
91 | EOF | |
92 | ||
93 | git branch > branch.output | |
94 | test_expect_success 'git branch' 'cmp branch.expect branch.output' | |
95 | ||
96 | git checkout mybranch | |
97 | echo "Work, work, work" >>hello | |
130fcca6 | 98 | git commit -m 'Some work.' -i hello |
2ae6c706 JS |
99 | |
100 | git checkout master | |
101 | ||
102 | echo "Play, play, play" >>hello | |
103 | echo "Lots of fun" >>example | |
130fcca6 | 104 | git commit -m 'Some fun.' -i hello example |
2ae6c706 JS |
105 | |
106 | test_expect_failure 'git resolve now fails' 'git resolve HEAD mybranch "Merge work in mybranch"' | |
107 | ||
108 | cat > hello << EOF | |
109 | Hello World | |
110 | It's a new day for git | |
111 | Play, play, play | |
112 | Work, work, work | |
113 | EOF | |
114 | ||
130fcca6 | 115 | git commit -m 'Merged "mybranch" changes.' -i hello |
2ae6c706 | 116 | |
6a74642c JH |
117 | test_done |
118 | ||
2ae6c706 JS |
119 | cat > show-branch.expect << EOF |
120 | * [master] Merged "mybranch" changes. | |
121 | ! [mybranch] Some work. | |
122 | -- | |
ebedc319 JH |
123 | - [master] Merged "mybranch" changes. |
124 | *+ [mybranch] Some work. | |
2ae6c706 JS |
125 | EOF |
126 | ||
4bc51db0 | 127 | git show-branch --topo-order master mybranch > show-branch.output |
2ae6c706 JS |
128 | test_expect_success 'git show-branch' 'cmp show-branch.expect show-branch.output' |
129 | ||
130 | git checkout mybranch | |
131 | ||
132 | cat > resolve.expect << EOF | |
eb0e0024 | 133 | Updating from VARIABLE to VARIABLE |
2ae6c706 JS |
134 | example | 1 + |
135 | hello | 1 + | |
136 | 2 files changed, 2 insertions(+), 0 deletions(-) | |
137 | EOF | |
138 | ||
139 | git resolve HEAD master "Merge upstream changes." | \ | |
140 | sed -e "1s/[0-9a-f]\{40\}/VARIABLE/g" > resolve.output | |
141 | test_expect_success 'git resolve' 'cmp resolve.expect resolve.output' | |
142 | ||
143 | cat > show-branch2.expect << EOF | |
144 | ! [master] Merged "mybranch" changes. | |
145 | * [mybranch] Merged "mybranch" changes. | |
146 | -- | |
ebedc319 | 147 | -- [master] Merged "mybranch" changes. |
2ae6c706 JS |
148 | EOF |
149 | ||
4bc51db0 | 150 | git show-branch --topo-order master mybranch > show-branch2.output |
2ae6c706 JS |
151 | test_expect_success 'git show-branch' 'cmp show-branch2.expect show-branch2.output' |
152 | ||
153 | # TODO: test git fetch | |
154 | ||
155 | # TODO: test git push | |
156 | ||
157 | test_expect_success 'git repack' 'git repack' | |
158 | test_expect_success 'git prune-packed' 'git prune-packed' | |
159 | test_expect_failure '-> only packed objects' 'find -type f .git/objects/[0-9a-f][0-9a-f]' | |
160 | ||
161 | test_done | |
162 |