diff options
Diffstat (limited to 't/t6112-rev-list-filters-objects.sh')
-rwxr-xr-x | t/t6112-rev-list-filters-objects.sh | 203 |
1 files changed, 115 insertions, 88 deletions
diff --git a/t/t6112-rev-list-filters-objects.sh b/t/t6112-rev-list-filters-objects.sh index d4ff0b3..0f6b569 100755 --- a/t/t6112-rev-list-filters-objects.sh +++ b/t/t6112-rev-list-filters-objects.sh @@ -20,24 +20,28 @@ test_expect_success 'setup r1' ' ' test_expect_success 'verify blob:none omits all 5 blobs' ' - git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r1 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:none \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 | + awk -f print_2.awk | + sort >expected && + + git -C r1 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:none | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify emitted+omitted == all' ' - git -C r1 rev-list HEAD --objects \ - | awk -f print_1.awk \ - | sort >expected && - git -C r1 rev-list HEAD --objects --filter-print-omitted --filter=blob:none \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r1 rev-list HEAD --objects | + awk -f print_1.awk | + sort >expected && + + git -C r1 rev-list HEAD --objects --filter-print-omitted --filter=blob:none | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' @@ -58,65 +62,76 @@ test_expect_success 'setup r2' ' ' test_expect_success 'verify blob:limit=500 omits all blobs' ' - git -C r2 ls-files -s large.1000 large.10000 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=500 \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r2 ls-files -s large.1000 large.10000 | + awk -f print_2.awk | + sort >expected && + + git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=500 | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify emitted+omitted == all' ' - git -C r2 rev-list HEAD --objects \ - | awk -f print_1.awk \ - | sort >expected && - git -C r2 rev-list HEAD --objects --filter-print-omitted --filter=blob:limit=500 \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r2 rev-list HEAD --objects | + awk -f print_1.awk | + sort >expected && + + git -C r2 rev-list HEAD --objects --filter-print-omitted --filter=blob:limit=500 | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify blob:limit=1000' ' - git -C r2 ls-files -s large.1000 large.10000 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1000 \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r2 ls-files -s large.1000 large.10000 | + awk -f print_2.awk | + sort >expected && + + git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1000 | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify blob:limit=1001' ' - git -C r2 ls-files -s large.10000 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1001 \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r2 ls-files -s large.10000 | + awk -f print_2.awk | + sort >expected && + + git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1001 | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify blob:limit=1k' ' - git -C r2 ls-files -s large.10000 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1k \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r2 ls-files -s large.10000 | + awk -f print_2.awk | + sort >expected && + + git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1k | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify blob:limit=1m' ' - git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1m \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1m | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_must_be_empty observed ' @@ -141,24 +156,28 @@ test_expect_success 'setup r3' ' ' test_expect_success 'verify sparse:path=pattern1 omits top-level files' ' - git -C r3 ls-files -s sparse1 sparse2 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:path=../pattern1 \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r3 ls-files -s sparse1 sparse2 | + awk -f print_2.awk | + sort >expected && + + git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:path=../pattern1 | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify sparse:path=pattern2 omits both sparse2 files' ' - git -C r3 ls-files -s sparse2 dir1/sparse2 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:path=../pattern2 \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r3 ls-files -s sparse2 dir1/sparse2 | + awk -f print_2.awk | + sort >expected && + + git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:path=../pattern2 | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' @@ -173,25 +192,30 @@ test_expect_success 'setup r3 part 2' ' ' test_expect_success 'verify sparse:oid=OID omits top-level files' ' - git -C r3 ls-files -s pattern sparse1 sparse2 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r3 ls-files -s pattern sparse1 sparse2 | + awk -f print_2.awk | + sort >expected && + oid=$(git -C r3 ls-files -s pattern | awk -f print_2.awk) && - git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:oid=$oid \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + + git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:oid=$oid | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify sparse:oid=oid-ish omits top-level files' ' - git -C r3 ls-files -s pattern sparse1 sparse2 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:oid=master:pattern \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r3 ls-files -s pattern sparse1 sparse2 | + awk -f print_2.awk | + sort >expected && + + git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:oid=master:pattern | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' @@ -199,17 +223,20 @@ test_expect_success 'verify sparse:oid=oid-ish omits top-level files' ' # This models previously omitted objects that we did not receive. test_expect_success 'rev-list W/ --missing=print' ' - git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 | + awk -f print_2.awk | + sort >expected && + for id in `cat expected | sed "s|..|&/|"` do rm r1/.git/objects/$id done && - git -C r1 rev-list --quiet HEAD --missing=print --objects \ - | awk -f print_1.awk \ - | sed "s/?//" \ - | sort >observed && + + git -C r1 rev-list --quiet HEAD --missing=print --objects | + awk -f print_1.awk | + sed "s/?//" | + sort >observed && + test_cmp observed expected ' |