git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 8/9] midx: test a few commands that use get_all_packs

From
Derrick Stolee <dstolee@microsoft.com>
Date
Aug 20, 2018, 16:52 UTC
Message-ID
<20180820165124.152146-9-dstolee@microsoft.com>
In-Reply-To
<20180820165124.152146-1-dstolee@microsoft.com>

The new get_all_packs() method exposed the packfiles coverede by a multi-pack-index. Before, the 'git cat-file --batch' and 'git count-objects' commands would skip objects in an environment with a multi-pack-index.

Further, a reachability bitmap would be ignored if its pack-file was covered by a multi-pack-index.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
---
 t/t5319-multi-pack-index.sh | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/t/t5319-multi-pack-index.sh b/t/t5319-multi-pack-index.sh
index 4b6e2825a6..424d0c640f 100755
--- a/t/t5319-multi-pack-index.sh
+++ b/t/t5319-multi-pack-index.sh
@@ -86,8 +86,14 @@ test_expect_success 'write midx with one v1 pack' '
 '
 
 midx_git_two_modes () {
-	git -c core.multiPackIndex=false $1 >expect &&
-	git -c core.multiPackIndex=true $1 >actual &&
+	if [ "$2" = "sorted" ]
+	then
+		git -c core.multiPackIndex=false $1 | sort >expect &&
+		git -c core.multiPackIndex=true $1 | sort >actual
+	else
+		git -c core.multiPackIndex=false $1 >expect &&
+		git -c core.multiPackIndex=true $1 >actual
+	fi &&
 	test_cmp expect actual
 }
 
@@ -95,7 +101,10 @@ compare_results_with_midx () {
 	MSG=$1
 	test_expect_success "check normal git operations: $MSG" '
 		midx_git_two_modes "rev-list --objects --all" &&
-		midx_git_two_modes "log --raw"
+		midx_git_two_modes "log --raw" &&
+		midx_git_two_modes "count-objects --verbose" &&
+		midx_git_two_modes "cat-file --batch-all-objects --buffer --batch-check" &&
+		midx_git_two_modes "cat-file --batch-all-objects --buffer --batch-check --unsorted" sorted
 	'
 }
 
@@ -149,6 +158,12 @@ test_expect_success 'repack removes multi-pack-index' '
 
 compare_results_with_midx "after repack"
 
+test_expect_success 'multi-pack-index and pack-bitmap' '
+	git -c repack.writeBitmaps=true repack -ad &&
+	git multi-pack-index write &&
+	git rev-list --test-bitmap HEAD
+'
+
 test_expect_success 'multi-pack-index and alternates' '
 	git init --bare alt.git &&
 	echo $(pwd)/alt.git/objects >.git/objects/info/alternates &&
-- 
2.18.0.118.gd4f65b8d14
Previous: Stefan BellerNext: Stefan Beller
Message 14 of 18 in “multi-pack-index cleanups”
  1. 0/9 multi-pack-index cleanupsDerrick Stolee, Aug 20, 2018
  2. 1/9 multi-pack-index: provide more helpful usage infoDerrick Stolee, Aug 20, 2018
  3. 3/9 midx: mark bad packed objectsDerrick Stolee, Aug 20, 2018
  4. Stefan BellerAug 20, 2018
  5. Derrick StoleeAug 21, 2018
  6. 4/9 midx: stop reporting garbageDerrick Stolee, Aug 20, 2018
  7. 5/9 midx: fix bug that skips midx with alternatesDerrick Stolee, Aug 20, 2018
  8. 6/9 packfile: add all_packs listDerrick Stolee, Aug 20, 2018
  9. 7/9 treewide: use get_all_packsDerrick Stolee, Aug 20, 2018
  10. Stefan BellerAug 20, 2018
  11. Derrick StoleeAug 21, 2018
  12. 2/9 multi-pack-index: store local propertyDerrick Stolee, Aug 20, 2018
  13. Stefan BellerAug 20, 2018
  14. 8/9 midx: test a few commands that use get_all_packsDerrick Stolee, Aug 20, 2018
  15. Stefan BellerAug 20, 2018
  16. 9/9 pack-objects: consider packs in multi-pack-indexDerrick Stolee, Aug 20, 2018
  17. Duy NguyenAug 21, 2018
  18. Derrick StoleeAug 21, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.