]> git.proxmox.com Git - libgit2.git/blame - tests-clar/refs/revparse.c
Minor bug fixes in diff code
[libgit2.git] / tests-clar / refs / revparse.c
CommitLineData
ac250c56
BS
1#include "clar_libgit2.h"
2
3#include "git2/revparse.h"
35bed94f 4#include "buffer.h"
5#include "refs.h"
6#include "path.h"
ac250c56
BS
7
8static git_repository *g_repo;
9static git_object *g_obj;
763b8381 10static char g_orig_tz[16] = {0};
ac250c56
BS
11
12
13
387d01b8 14/* Helpers */
35bed94f 15static void test_object_inrepo(const char *spec, const char *expected_oid, git_repository *repo)
ac250c56 16{
e28dd29b 17 char objstr[64] = {0};
1decf88b 18 git_object *obj = NULL;
19 int error;
27ee8483 20
35bed94f 21 error = git_revparse_single(&obj, repo, spec);
27ee8483 22
1decf88b 23 if (expected_oid != NULL) {
24 cl_assert_equal_i(0, error);
25 git_oid_fmt(objstr, git_object_id(obj));
26 cl_assert_equal_s(objstr, expected_oid);
27 } else
28 cl_assert_equal_i(GIT_ENOTFOUND, error);
ac250c56 29
1decf88b 30 git_object_free(obj);
31}
ac250c56 32
35bed94f 33static void test_object(const char *spec, const char *expected_oid)
34{
35 test_object_inrepo(spec, expected_oid, g_repo);
36}
37
ac250c56
BS
38void test_refs_revparse__initialize(void)
39{
e28dd29b 40 char *tz = cl_getenv("TZ");
41 if (tz)
42 strcpy(g_orig_tz, tz);
43 cl_setenv("TZ", "UTC");
34922eee 44
45 cl_git_pass(git_repository_open(&g_repo, cl_fixture("testrepo.git")));
ac250c56
BS
46}
47
48void test_refs_revparse__cleanup(void)
49{
34922eee 50 git_repository_free(g_repo);
e28dd29b 51 g_obj = NULL;
52 cl_setenv("TZ", g_orig_tz);
ac250c56
BS
53}
54
9d7bdf71
BS
55void test_refs_revparse__nonexistant_object(void)
56{
ce9e8e11 57 test_object("this-does-not-exist", NULL);
3e82d6c6 58 test_object("this-does-not-exist^1", NULL);
59 test_object("this-does-not-exist~2", NULL);
ce9e8e11 60}
1decf88b 61
ce9e8e11 62void test_refs_revparse__invalid_reference_name(void)
63{
64 cl_git_fail(git_revparse_single(&g_obj, g_repo, "this doesn't make sense"));
65 cl_git_fail(git_revparse_single(&g_obj, g_repo, "this doesn't make sense^1"));
66 cl_git_fail(git_revparse_single(&g_obj, g_repo, "this doesn't make sense~2"));
279b45b0
CMN
67 cl_git_fail(git_revparse_single(&g_obj, g_repo, ""));
68
9d7bdf71
BS
69}
70
ac250c56
BS
71void test_refs_revparse__shas(void)
72{
e28dd29b 73 test_object("c47800c7266a2be04c571c04d5a6614691ea99bd", "c47800c7266a2be04c571c04d5a6614691ea99bd");
74 test_object("c47800c", "c47800c7266a2be04c571c04d5a6614691ea99bd");
ac250c56
BS
75}
76
77void test_refs_revparse__head(void)
78{
e28dd29b 79 test_object("HEAD", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
d448392e 80 test_object("HEAD^0", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
81 test_object("HEAD~0", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
82 test_object("master", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
ac250c56
BS
83}
84
85void test_refs_revparse__full_refs(void)
86{
e28dd29b 87 test_object("refs/heads/master", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
88 test_object("refs/heads/test", "e90810b8df3e80c413d903f631643c716887138d");
89 test_object("refs/tags/test", "b25fa35b38051e4ae45d4222e795f9df2e43f1d1");
ac250c56
BS
90}
91
92void test_refs_revparse__partial_refs(void)
93{
e28dd29b 94 test_object("point_to_blob", "1385f264afb75a56a5bec74243be9b367ba4ca08");
95 test_object("packed-test", "4a202b346bb0fb0db7eff3cffeb3c70babbd2045");
96 test_object("br2", "a4a7dce85cf63874e984719f4fdd239f5145052f");
ac250c56
BS
97}
98
99void test_refs_revparse__describe_output(void)
100{
e28dd29b 101 test_object("blah-7-gc47800c", "c47800c7266a2be04c571c04d5a6614691ea99bd");
102 test_object("not-good", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
ac250c56
BS
103}
104
023c6f69
BS
105void test_refs_revparse__nth_parent(void)
106{
d448392e 107 cl_git_fail(git_revparse_single(&g_obj, g_repo, "be3563a^-1"));
108 cl_git_fail(git_revparse_single(&g_obj, g_repo, "^"));
109 cl_git_fail(git_revparse_single(&g_obj, g_repo, "be3563a^{tree}^"));
110
e28dd29b 111 test_object("be3563a^1", "9fd738e8f7967c078dceed8190330fc8648ee56a");
112 test_object("be3563a^", "9fd738e8f7967c078dceed8190330fc8648ee56a");
113 test_object("be3563a^2", "c47800c7266a2be04c571c04d5a6614691ea99bd");
114 test_object("be3563a^1^1", "4a202b346bb0fb0db7eff3cffeb3c70babbd2045");
d448392e 115 test_object("be3563a^^", "4a202b346bb0fb0db7eff3cffeb3c70babbd2045");
e28dd29b 116 test_object("be3563a^2^1", "5b5b025afb0b4c913b4c338a42934a3863bf3644");
117 test_object("be3563a^0", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
d448392e 118 test_object("be3563a^{commit}^", "9fd738e8f7967c078dceed8190330fc8648ee56a");
0e7af9e7 119
1decf88b 120 test_object("be3563a^42", NULL);
9d7bdf71
BS
121}
122
123void test_refs_revparse__not_tag(void)
124{
e28dd29b 125 test_object("point_to_blob^{}", "1385f264afb75a56a5bec74243be9b367ba4ca08");
126 test_object("wrapped_tag^{}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
d448392e 127 test_object("master^{}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
128 test_object("master^{tree}^{}", "944c0f6e4dfa41595e6eb3ceecdb14f50fe18162");
129 test_object("e90810b^{}", "e90810b8df3e80c413d903f631643c716887138d");
130 test_object("tags/e90810b^{}", "e90810b8df3e80c413d903f631643c716887138d");
131 test_object("e908^{}", "e90810b8df3e80c413d903f631643c716887138d");
9d7bdf71
BS
132}
133
134void test_refs_revparse__to_type(void)
135{
d448392e 136 cl_git_fail(git_revparse_single(&g_obj, g_repo, "wrapped_tag^{blob}"));
137 cl_git_fail(git_revparse_single(&g_obj, g_repo, "wrapped_tag^{trip}"));
138
e28dd29b 139 test_object("wrapped_tag^{commit}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
140 test_object("wrapped_tag^{tree}", "944c0f6e4dfa41595e6eb3ceecdb14f50fe18162");
141 test_object("point_to_blob^{blob}", "1385f264afb75a56a5bec74243be9b367ba4ca08");
d448392e 142 test_object("master^{commit}^{commit}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
023c6f69
BS
143}
144
38533d5a
BS
145void test_refs_revparse__linear_history(void)
146{
d448392e 147 cl_git_fail(git_revparse_single(&g_obj, g_repo, "~"));
e28dd29b 148 cl_git_fail(git_revparse_single(&g_obj, g_repo, "foo~bar"));
149 cl_git_fail(git_revparse_single(&g_obj, g_repo, "master~bar"));
d448392e 150 cl_git_fail(git_revparse_single(&g_obj, g_repo, "master~-1"));
151 cl_git_fail(git_revparse_single(&g_obj, g_repo, "master~0bar"));
eb6bc45f 152
e28dd29b 153 test_object("master~0", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
154 test_object("master~1", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
155 test_object("master~2", "9fd738e8f7967c078dceed8190330fc8648ee56a");
156 test_object("master~1~1", "9fd738e8f7967c078dceed8190330fc8648ee56a");
d448392e 157 test_object("master~~", "9fd738e8f7967c078dceed8190330fc8648ee56a");
38533d5a
BS
158}
159
160void test_refs_revparse__chaining(void)
161{
d448392e 162 cl_git_fail(git_revparse_single(&g_obj, g_repo, "master@{0}@{0}"));
163 cl_git_fail(git_revparse_single(&g_obj, g_repo, "@{u}@{-1}"));
164 cl_git_fail(git_revparse_single(&g_obj, g_repo, "@{-1}@{-1}"));
165 cl_git_fail(git_revparse_single(&g_obj, g_repo, "@{-3}@{0}"));
166
167 test_object("master@{0}~1^1", "9fd738e8f7967c078dceed8190330fc8648ee56a");
168 test_object("@{u}@{0}", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
169 test_object("@{-1}@{0}", "a4a7dce85cf63874e984719f4fdd239f5145052f");
170 test_object("@{-4}@{1}", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
e28dd29b 171 test_object("master~1^1", "9fd738e8f7967c078dceed8190330fc8648ee56a");
172 test_object("master~1^2", "c47800c7266a2be04c571c04d5a6614691ea99bd");
173 test_object("master^1^2~1", "5b5b025afb0b4c913b4c338a42934a3863bf3644");
d448392e 174 test_object("master^^2^", "5b5b025afb0b4c913b4c338a42934a3863bf3644");
e28dd29b 175 test_object("master^1^1^1^1^1", "8496071c1b46c854b31185ea97743be6a8774479");
d448392e 176 test_object("master^^1^2^1", NULL);
38533d5a
BS
177}
178
3cd90893 179void test_refs_revparse__upstream(void)
180{
181 cl_git_fail(git_revparse_single(&g_obj, g_repo, "e90810b@{u}"));
182 cl_git_fail(git_revparse_single(&g_obj, g_repo, "refs/tags/e90810b@{u}"));
183
184 test_object("master@{upstream}", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
185 test_object("@{u}", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
186 test_object("master@{u}", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
187 test_object("heads/master@{u}", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
188 test_object("refs/heads/master@{u}", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
189}
190
3d78ab64 191void test_refs_revparse__ordinal(void)
023c6f69 192{
cab65c2b 193 cl_git_fail(git_revparse_single(&g_obj, g_repo, "master@{-2}"));
d448392e 194
195 /* TODO: make the test below actually fail
196 * cl_git_fail(git_revparse_single(&g_obj, g_repo, "master@{1a}"));
197 */
a51bdbcf 198
1decf88b 199 test_object("nope@{0}", NULL);
200 test_object("master@{31415}", NULL);
3d78ab64 201 test_object("@{1000}", NULL);
b8460c20 202 test_object("@{2}", NULL);
08ac23a5 203
e28dd29b 204 test_object("@{0}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
205 test_object("@{1}", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
3d78ab64 206
207 test_object("master@{0}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
208 test_object("master@{1}", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
209 test_object("heads/master@{1}", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
210 test_object("refs/heads/master@{1}", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
211}
212
213void test_refs_revparse__previous_head(void)
214{
215 cl_git_fail(git_revparse_single(&g_obj, g_repo, "@{-xyz}"));
216 cl_git_fail(git_revparse_single(&g_obj, g_repo, "@{-0}"));
d448392e 217 cl_git_fail(git_revparse_single(&g_obj, g_repo, "@{-1b}"));
3d78ab64 218
219 test_object("@{-42}", NULL);
220
221 test_object("@{-2}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
222 test_object("@{-1}", "a4a7dce85cf63874e984719f4fdd239f5145052f");
886f183a
BS
223}
224
35bed94f 225static void create_fake_stash_reference_and_reflog(git_repository *repo)
226{
227 git_reference *master;
228 git_buf log_path = GIT_BUF_INIT;
229
230 git_buf_joinpath(&log_path, git_repository_path(repo), "logs/refs/fakestash");
231
232 cl_assert_equal_i(false, git_path_isfile(git_buf_cstr(&log_path)));
233
234 cl_git_pass(git_reference_lookup(&master, repo, "refs/heads/master"));
235 cl_git_pass(git_reference_rename(master, "refs/fakestash", 0));
236
237 cl_assert_equal_i(true, git_path_isfile(git_buf_cstr(&log_path)));
238
239 git_buf_free(&log_path);
240 git_reference_free(master);
241}
242
243void test_refs_revparse__reflog_of_a_ref_under_refs(void)
244{
245 git_repository *repo = cl_git_sandbox_init("testrepo.git");
246
247 test_object_inrepo("refs/fakestash", NULL, repo);
248
249 create_fake_stash_reference_and_reflog(repo);
250
251 /*
252 * $ git reflog -1 refs/fakestash
253 * a65fedf refs/fakestash@{0}: commit: checking in
254 *
255 * $ git reflog -1 refs/fakestash@{0}
256 * a65fedf refs/fakestash@{0}: commit: checking in
257 *
258 * $ git reflog -1 fakestash
259 * a65fedf fakestash@{0}: commit: checking in
260 *
261 * $ git reflog -1 fakestash@{0}
262 * a65fedf fakestash@{0}: commit: checking in
263 */
264 test_object_inrepo("refs/fakestash", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750", repo);
265 test_object_inrepo("refs/fakestash@{0}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750", repo);
266 test_object_inrepo("fakestash", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750", repo);
267 test_object_inrepo("fakestash@{0}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750", repo);
268
269 cl_git_sandbox_cleanup();
270}
271
886f183a
BS
272void test_refs_revparse__revwalk(void)
273{
e28dd29b 274 cl_git_fail(git_revparse_single(&g_obj, g_repo, "master^{/not found in any commit}"));
275 cl_git_fail(git_revparse_single(&g_obj, g_repo, "master^{/merge}"));
276 cl_git_fail(git_revparse_single(&g_obj, g_repo, "master^{/((}"));
886f183a 277
e28dd29b 278 test_object("master^{/anoth}", "5b5b025afb0b4c913b4c338a42934a3863bf3644");
279 test_object("master^{/Merge}", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
280 test_object("br2^{/Merge}", "a4a7dce85cf63874e984719f4fdd239f5145052f");
281 test_object("master^{/fo.rth}", "9fd738e8f7967c078dceed8190330fc8648ee56a");
886f183a
BS
282}
283
284void test_refs_revparse__date(void)
285{
494ae940 286 /*
287 * $ git reflog HEAD --date=iso
288 * a65fedf HEAD@{2012-04-30 08:23:41 -0900}: checkout: moving from br2 to master
289 * a4a7dce HEAD@{2012-04-30 08:23:37 -0900}: commit: checking in
290 * c47800c HEAD@{2012-04-30 08:23:28 -0900}: checkout: moving from master to br2
291 * a65fedf HEAD@{2012-04-30 08:23:23 -0900}: commit:
292 * be3563a HEAD@{2012-04-30 10:22:43 -0700}: clone: from /Users/ben/src/libgit2/tes
293 *
294 * $ git reflog HEAD --date=raw
295 * a65fedf HEAD@{1335806621 -0900}: checkout: moving from br2 to master
296 * a4a7dce HEAD@{1335806617 -0900}: commit: checking in
297 * c47800c HEAD@{1335806608 -0900}: checkout: moving from master to br2
298 * a65fedf HEAD@{1335806603 -0900}: commit:
299 * be3563a HEAD@{1335806563 -0700}: clone: from /Users/ben/src/libgit2/tests/resour
300 */
1decf88b 301 test_object("HEAD@{10 years ago}", NULL);
a346992f 302
494ae940 303 test_object("HEAD@{1 second}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
304 test_object("HEAD@{1 second ago}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
305 test_object("HEAD@{2 days ago}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
306
307 /*
308 * $ git reflog master --date=iso
309 * a65fedf master@{2012-04-30 09:23:23 -0800}: commit: checking in
310 * be3563a master@{2012-04-30 09:22:43 -0800}: clone: from /Users/ben/src...
311 *
312 * $ git reflog master --date=raw
313 * a65fedf master@{1335806603 -0800}: commit: checking in
314 * be3563a master@{1335806563 -0800}: clone: from /Users/ben/src/libgit2/tests/reso
315 */
316
317
318 /*
319 * $ git reflog -1 "master@{2012-04-30 17:22:42 +0000}"
320 * warning: Log for 'master' only goes back to Mon, 30 Apr 2012 09:22:43 -0800.
321 */
1decf88b 322 test_object("master@{2012-04-30 17:22:42 +0000}", NULL);
323 test_object("master@{2012-04-30 09:22:42 -0800}", NULL);
494ae940 324
325 /*
326 * $ git reflog -1 "master@{2012-04-30 17:22:43 +0000}"
327 * be3563a master@{Mon Apr 30 09:22:43 2012 -0800}: clone: from /Users/ben/src/libg
328 */
329 test_object("master@{2012-04-30 17:22:43 +0000}", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
330 test_object("master@{2012-04-30 09:22:43 -0800}", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
331
332 /*
333 * $ git reflog -1 "master@{2012-4-30 09:23:27 -0800}"
334 * a65fedf master@{Mon Apr 30 09:23:23 2012 -0800}: commit: checking in
335 */
336 test_object("master@{2012-4-30 09:23:27 -0800}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
337
338 /*
339 * $ git reflog -1 master@{2012-05-03}
340 * a65fedf master@{Mon Apr 30 09:23:23 2012 -0800}: commit: checking in
341 */
342 test_object("master@{2012-05-03}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
343
344 /*
345 * $ git reflog -1 "master@{1335806603}"
346 * a65fedf
347 *
348 * $ git reflog -1 "master@{1335806602}"
349 * be3563a
350 */
351 test_object("master@{1335806603}", "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
352 test_object("master@{1335806602}", "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
023c6f69 353}
244d2f6b
BS
354
355void test_refs_revparse__colon(void)
356{
e28dd29b 357 cl_git_fail(git_revparse_single(&g_obj, g_repo, ":/"));
e28dd29b 358 cl_git_fail(git_revparse_single(&g_obj, g_repo, ":2:README"));
e28dd29b 359
1decf88b 360 test_object(":/not found in any commit", NULL);
361 test_object("subtrees:ab/42.txt", NULL);
362 test_object("subtrees:ab/4.txt/nope", NULL);
363 test_object("subtrees:nope", NULL);
364 test_object("test/master^1:branch_file.txt", NULL);
5b68ba7e 365
bb89cf94 366 /* From tags */
367 test_object("test:readme.txt", "0266163a49e280c4f5ed1e08facd36a2bd716bcf");
368 test_object("tags/test:readme.txt", "0266163a49e280c4f5ed1e08facd36a2bd716bcf");
369 test_object("e90810b:readme.txt", "0266163a49e280c4f5ed1e08facd36a2bd716bcf");
370 test_object("tags/e90810b:readme.txt", "0266163a49e280c4f5ed1e08facd36a2bd716bcf");
371
372 /* From commits */
373 test_object("a65f:branch_file.txt", "3697d64be941a53d4ae8f6a271e4e3fa56b022cc");
374
375 /* From trees */
376 test_object("a65f^{tree}:branch_file.txt", "3697d64be941a53d4ae8f6a271e4e3fa56b022cc");
377 test_object("944c:branch_file.txt", "3697d64be941a53d4ae8f6a271e4e3fa56b022cc");
378
379 /* Retrieving trees */
faaa7c51 380 test_object("master:", "944c0f6e4dfa41595e6eb3ceecdb14f50fe18162");
381 test_object("subtrees:", "ae90f12eea699729ed24555e40b9fd669da12a12");
382 test_object("subtrees:ab", "f1425cef211cc08caa31e7b545ffb232acb098c3");
bb89cf94 383 test_object("subtrees:ab/", "f1425cef211cc08caa31e7b545ffb232acb098c3");
faaa7c51 384
bb89cf94 385 /* Retrieving blobs */
e28dd29b 386 test_object("subtrees:ab/4.txt", "d6c93164c249c8000205dd4ec5cbca1b516d487f");
387 test_object("subtrees:ab/de/fgh/1.txt", "1f67fc4386b2d171e0d21be1c447e12660561f9b");
388 test_object("master:README", "a8233120f6ad708f843d861ce2b7228ec4e3dec6");
389 test_object("master:new.txt", "a71586c1dfe8a71c6cbf6c129f404c5642ff31bd");
390 test_object(":/Merge", "a4a7dce85cf63874e984719f4fdd239f5145052f");
391 test_object(":/one", "c47800c7266a2be04c571c04d5a6614691ea99bd");
392 test_object(":/packed commit t", "41bc8c69075bbdb46c5c6f0566cc8cc5b46e8bd9");
0d23c62c 393 test_object("test/master^2:branch_file.txt", "45b983be36b73c0788dc9cbcb76cbb80fc7bb057");
d448392e 394 test_object("test/master@{1}:branch_file.txt", "3697d64be941a53d4ae8f6a271e4e3fa56b022cc");
244d2f6b 395}
d1b7921a 396
397void test_refs_revparse__disambiguation(void)
398{
399 /*
400 * $ git show e90810b
401 * tag e90810b
402 * Tagger: Vicent Marti <tanoku@gmail.com>
403 * Date: Thu Aug 12 03:59:17 2010 +0200
404 *
405 * This is a very simple tag.
406 *
407 * commit e90810b8df3e80c413d903f631643c716887138d
408 * Author: Vicent Marti <tanoku@gmail.com>
409 * Date: Thu Aug 5 18:42:20 2010 +0200
410 *
411 * Test commit 2
412 *
413 * diff --git a/readme.txt b/readme.txt
414 * index 6336846..0266163 100644
415 * --- a/readme.txt
416 * +++ b/readme.txt
417 * @@ -1 +1,2 @@
418 * Testing a readme.txt
419 * +Now we add a single line here
420 *
421 * $ git show-ref e90810b
422 * 7b4384978d2493e851f9cca7858815fac9b10980 refs/tags/e90810b
423 *
424 */
425 test_object("e90810b", "7b4384978d2493e851f9cca7858815fac9b10980");
426
427 /*
428 * $ git show e90810
429 * commit e90810b8df3e80c413d903f631643c716887138d
430 * Author: Vicent Marti <tanoku@gmail.com>
431 * Date: Thu Aug 5 18:42:20 2010 +0200
432 *
433 * Test commit 2
434 *
435 * diff --git a/readme.txt b/readme.txt
436 * index 6336846..0266163 100644
437 * --- a/readme.txt
438 * +++ b/readme.txt
439 * @@ -1 +1,2 @@
440 * Testing a readme.txt
441 * +Now we add a single line here
442 */
443 test_object("e90810", "e90810b8df3e80c413d903f631643c716887138d");
444}