pr-850/derrickstolee/gen-v2-upgrade-fix-v2
tagged this
02 Feb 03:01
Here is a bugfix for the recently-landed-in-next generation v2 topic (ak/corrected-commit-date). This was occasionally hitting us when computing new commit-graphs on existing repositories with the new bits. It was very hard to reproduce, and it turns out to be due to not parsing commits before accessing generation number data. Doing so in the right place demonstrates the bug of recomputing the corrected commit date even for commits in lower layers with computed values. The fix is split into these steps: 1. Parse commits more often before accessing their data. (This allows the bug to be demonstrated in the test suite.) 2. Check the full commit-graph chain for generation data chunks. 3. Don't compute corrected commit dates if the lower layers do not support them. 4. Parse the commit-graph file more often. Thanks, -Stolee Updates in v2 ============= * Fixed some typos or other clarifications in commit messages. * The loop assigning read_generation_data is skipped if they already all agree with value 1. * I split compute_generation_numbers into two methods. This essentially splits the previous patch 4 into patches 4 & 5 here. The new patch 4 just splits the logic as-is, then the new patch 5 does the re-initialization of generation values when in the upgrade scenario. Derrick Stolee (6): commit-graph: use repo_parse_commit commit-graph: always parse before commit_graph_data_at() commit-graph: validate layers for generation data commit-graph: compute generations separately commit-graph: be extra careful about mixed generations commit-graph: prepare commit graph commit-graph.c | 138 +++++++++++++++++++++++++++++----------- commit.h | 5 +- t/t5318-commit-graph.sh | 21 ++++++ 3 files changed, 125 insertions(+), 39 deletions(-) base-commit: 5a3b130cad0d5c770f766e3af6d32b41766374c0 Submitted-As: https://lore.kernel.org/git/pull.850.v2.git.1612234883.gitgitgadget@gmail.com In-Reply-To: https://lore.kernel.org/git/pull.850.git.1612199707.gitgitgadget@gmail.com
Assets 2
-
2021-02-02T03:01:23Z -
2021-02-02T03:01:23Z -