diff options
author | Derrick Stolee <dstolee@microsoft.com> | 2019-06-18 20:14:35 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-06-20 05:46:26 +0200 |
commit | a09c1301ce5986a374ab008b2125fa26a9bdd2fe (patch) | |
tree | b307895679a58897292aa9ad2eaef32bf530ea9b /t/t5324-split-commit-graph.sh | |
parent | commit-graph: test octopus merges with --split (diff) | |
download | git-a09c1301ce5986a374ab008b2125fa26a9bdd2fe.tar.xz git-a09c1301ce5986a374ab008b2125fa26a9bdd2fe.zip |
commit-graph: test --split across alternate without --split
We allow sharing commit-graph files across alternates. When we are
writing a split commit-graph, we allow adding tip graph files that
are not in the alternate, but include commits from our local repo.
However, if our alternate is not using the split commit-graph format,
its file is at .git/objects/info/commit-graph and we are trying to
write files in .git/objects/info/commit-graphs/graph-{hash}.graph.
We already have logic to ensure we do not merge across alternate
boundaries, but we also cannot have a commit-graph chain to our
alternate if uses the old filename structure.
Create a test that verifies we create a new split commit-graph
with only one level and we do not modify the existing commit-graph
in the alternate.
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t5324-split-commit-graph.sh')
-rwxr-xr-x | t/t5324-split-commit-graph.sh | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/t/t5324-split-commit-graph.sh b/t/t5324-split-commit-graph.sh index 704def70bb..130f2baf44 100755 --- a/t/t5324-split-commit-graph.sh +++ b/t/t5324-split-commit-graph.sh @@ -301,4 +301,19 @@ test_expect_success 'add octopus merge' ' graph_git_behavior 'graph exists' merge/octopus commits/12 +test_expect_success 'split across alternate where alternate is not split' ' + git commit-graph write --reachable && + test_path_is_file .git/objects/info/commit-graph && + cp .git/objects/info/commit-graph . && + git clone --no-hardlinks . alt-split && + ( + cd alt-split && + echo "$(pwd)"/../.git/objects >.git/objects/info/alternates && + test_commit 18 && + git commit-graph write --reachable --split && + test_line_count = 1 $graphdir/commit-graph-chain + ) && + test_cmp commit-graph .git/objects/info/commit-graph +' + test_done |