diff options
| author | Junio C Hamano <gitster@pobox.com> | 2023-04-06 13:38:27 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2023-04-06 13:38:27 -0700 |
| commit | 119e82a515e279548cd82aaf74f75927c75adfa1 (patch) | |
| tree | c52e8b7784817b92b4c390fc76ec3c5720c4eccf | |
| parent | 7727da99dfab82148c5b77eaf334b305fb835956 (diff) | |
| parent | d3af1c193d4d62668a9d7ea98e2ef3771ac4e65a (diff) | |
| download | git-119e82a515e279548cd82aaf74f75927c75adfa1.tar.xz | |
Merge branch 'ps/ahead-behind-truncation-fix'
Fix unnecessary truncation of generation numbers used in-core.
* ps/ahead-behind-truncation-fix:
commit-graph: fix truncated generation numbers
| -rw-r--r-- | commit-graph.c | 2 | ||||
| -rwxr-xr-x | t/t5328-commit-graph-64bit-time.sh | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/commit-graph.c b/commit-graph.c index 2ad09f35da..8fce79b39b 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -1566,7 +1566,7 @@ static timestamp_t get_generation_from_graph_data(struct commit *c, void *data) static void set_generation_v2(struct commit *c, timestamp_t t, void *data) { struct commit_graph_data *g = commit_graph_data_at(c); - g->generation = (uint32_t)t; + g->generation = t; } static void compute_generation_numbers(struct write_commit_graph_context *ctx) diff --git a/t/t5328-commit-graph-64bit-time.sh b/t/t5328-commit-graph-64bit-time.sh index 093f0c067a..57e4d9c699 100755 --- a/t/t5328-commit-graph-64bit-time.sh +++ b/t/t5328-commit-graph-64bit-time.sh @@ -63,4 +63,13 @@ test_expect_success 'set up and verify repo with generation data overflow chunk' graph_git_behavior 'overflow 2' repo left right +test_expect_success 'single commit with generation data exceeding UINT32_MAX' ' + git init repo-uint32-max && + cd repo-uint32-max && + test_commit --date "@4294967297 +0000" 1 && + git commit-graph write --reachable && + graph_read_expect 1 "generation_data" && + git commit-graph verify +' + test_done |
