]>
Commit | Line | Data |
---|---|---|
75979d94 DS |
1 | #!/bin/sh |
2 | ||
3 | test_description='commit graph with 64-bit timestamps' | |
4 | . ./test-lib.sh | |
5 | ||
6 | if ! test_have_prereq TIME_IS_64BIT || ! test_have_prereq TIME_T_IS_64BIT | |
7 | then | |
8 | skip_all='skipping 64-bit timestamp tests' | |
9 | test_done | |
10 | fi | |
11 | ||
12 | . "$TEST_DIRECTORY"/lib-commit-graph.sh | |
13 | ||
14 | UNIX_EPOCH_ZERO="@0 +0000" | |
15 | FUTURE_DATE="@4147483646 +0000" | |
16 | ||
17 | GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=0 | |
18 | ||
19 | test_expect_success 'lower layers have overflow chunk' ' | |
20 | rm -f .git/objects/info/commit-graph && | |
21 | test_commit --date "$FUTURE_DATE" future-1 && | |
22 | test_commit --date "$UNIX_EPOCH_ZERO" old-1 && | |
23 | git commit-graph write --reachable && | |
24 | test_commit --date "$FUTURE_DATE" future-2 && | |
25 | test_commit --date "$UNIX_EPOCH_ZERO" old-2 && | |
26 | git commit-graph write --reachable --split=no-merge && | |
27 | test_commit extra && | |
28 | git commit-graph write --reachable --split=no-merge && | |
29 | git commit-graph write --reachable && | |
30 | graph_read_expect 5 "generation_data generation_data_overflow" && | |
31 | mv .git/objects/info/commit-graph commit-graph-upgraded && | |
32 | git commit-graph write --reachable && | |
33 | graph_read_expect 5 "generation_data generation_data_overflow" && | |
34 | test_cmp .git/objects/info/commit-graph commit-graph-upgraded | |
35 | ' | |
36 | ||
37 | graph_git_behavior 'overflow' '' HEAD~2 HEAD | |
38 | ||
c8d67b9a | 39 | test_expect_success 'set up and verify repo with generation data overflow chunk' ' |
749f126b TB |
40 | git init repo && |
41 | ( | |
42 | cd repo && | |
43 | test_commit --date "$UNIX_EPOCH_ZERO" 1 && | |
44 | test_commit 2 && | |
45 | test_commit --date "$UNIX_EPOCH_ZERO" 3 && | |
46 | git commit-graph write --reachable && | |
47 | graph_read_expect 3 generation_data && | |
48 | test_commit --date "$FUTURE_DATE" 4 && | |
49 | test_commit 5 && | |
50 | test_commit --date "$UNIX_EPOCH_ZERO" 6 && | |
51 | git branch left && | |
52 | git reset --hard 3 && | |
53 | test_commit 7 && | |
54 | test_commit --date "$FUTURE_DATE" 8 && | |
55 | test_commit 9 && | |
56 | git branch right && | |
57 | git reset --hard 3 && | |
58 | test_merge M left right && | |
59 | git commit-graph write --reachable && | |
60 | graph_read_expect 10 "generation_data generation_data_overflow" && | |
61 | git commit-graph verify | |
62 | ) | |
c8d67b9a DS |
63 | ' |
64 | ||
65 | graph_git_behavior 'overflow 2' repo left right | |
66 | ||
d3af1c19 PS |
67 | test_expect_success 'single commit with generation data exceeding UINT32_MAX' ' |
68 | git init repo-uint32-max && | |
749f126b TB |
69 | test_commit -C repo-uint32-max --date "@4294967297 +0000" 1 && |
70 | git -C repo-uint32-max commit-graph write --reachable && | |
71 | graph_read_expect -C repo-uint32-max 1 "generation_data" && | |
72 | git -C repo-uint32-max commit-graph verify | |
d3af1c19 PS |
73 | ' |
74 | ||
75979d94 | 75 | test_done |