diff options
author | Vincent Ambo <tazjin@google.com> | 2020-05-25T23·06+0100 |
---|---|---|
committer | Vincent Ambo <tazjin@google.com> | 2020-05-25T23·06+0100 |
commit | 93ba78d6f4632ef1c5228965e3edc8c0faf88c1e (patch) | |
tree | 85730c182a9f5f492ade8e8ccdb1c2356f9900bd /third_party/git/t/t6112-rev-list-filters-objects.sh | |
parent | 6f8fbf4aa4b1654ab27d4829e114538761817de0 (diff) |
revert(3p/git): Revert merge of git upstream at v2.26.2 r/852
This causes cgit to serve error pages, which is undesirable. This reverts commit 5229c9b232de5bfa959ad6ebbb4c8192ac513352, reversing changes made to f2b211131f2347342dde63975b09cf603149f1a3.
Diffstat (limited to 'third_party/git/t/t6112-rev-list-filters-objects.sh')
-rwxr-xr-x | third_party/git/t/t6112-rev-list-filters-objects.sh | 194 |
1 files changed, 8 insertions, 186 deletions
diff --git a/third_party/git/t/t6112-rev-list-filters-objects.sh b/third_party/git/t/t6112-rev-list-filters-objects.sh index de0e5a5d3646..acd7f5ab80d9 100755 --- a/third_party/git/t/t6112-rev-list-filters-objects.sh +++ b/third_party/git/t/t6112-rev-list-filters-objects.sh @@ -278,19 +278,7 @@ test_expect_success 'verify skipping tree iteration when not collecting omits' ' test_line_count = 2 actual && # Make sure no other trees were considered besides the root. - ! grep "Skipping contents of tree [^.]" filter_trace && - - # Try this again with "combine:". If both sub-filters are skipping - # trees, the composite filter should also skip trees. This is not - # important unless the user does combine:tree:X+tree:Y or another filter - # besides "tree:" is implemented in the future which can skip trees. - GIT_TRACE=1 git -C r3 rev-list \ - --objects --filter=combine:tree:1+tree:3 HEAD 2>filter_trace && - - # Only skip the dir1/ tree, which is shared between the two commits. - grep "Skipping contents of tree " filter_trace >actual && - test_write_lines "Skipping contents of tree dir1/..." >expected && - test_cmp expected actual + ! grep "Skipping contents of tree [^.]" filter_trace ' # Test tree:# filters. @@ -342,148 +330,6 @@ test_expect_success 'verify tree:3 includes everything expected' ' test_line_count = 10 actual ' -test_expect_success 'combine:... for a simple combination' ' - git -C r3 rev-list --objects --filter=combine:tree:2+blob:none HEAD \ - >actual && - - expect_has HEAD "" && - expect_has HEAD~1 "" && - expect_has HEAD dir1 && - - # There are also 2 commit objects - test_line_count = 5 actual && - - cp actual expected && - - # Try again using repeated --filter - this is equivalent to a manual - # combine with "combine:...+..." - git -C r3 rev-list --objects --filter=combine:tree:2 \ - --filter=blob:none HEAD >actual && - - test_cmp expected actual -' - -test_expect_success 'combine:... with URL encoding' ' - git -C r3 rev-list --objects \ - --filter=combine:tree%3a2+blob:%6Eon%65 HEAD >actual && - - expect_has HEAD "" && - expect_has HEAD~1 "" && - expect_has HEAD dir1 && - - # There are also 2 commit objects - test_line_count = 5 actual -' - -expect_invalid_filter_spec () { - spec="$1" && - err="$2" && - - test_must_fail git -C r3 rev-list --objects --filter="$spec" HEAD \ - >actual 2>actual_stderr && - test_must_be_empty actual && - test_i18ngrep "$err" actual_stderr -} - -test_expect_success 'combine:... while URL-encoding things that should not be' ' - expect_invalid_filter_spec combine%3Atree:2+blob:none \ - "invalid filter-spec" -' - -test_expect_success 'combine: with nothing after the :' ' - expect_invalid_filter_spec combine: "expected something after combine:" -' - -test_expect_success 'parse error in first sub-filter in combine:' ' - expect_invalid_filter_spec combine:tree:asdf+blob:none \ - "expected .tree:<depth>." -' - -test_expect_success 'combine:... with non-encoded reserved chars' ' - expect_invalid_filter_spec combine:tree:2+sparse:@xyz \ - "must escape char in sub-filter-spec: .@." && - expect_invalid_filter_spec combine:tree:2+sparse:\` \ - "must escape char in sub-filter-spec: .\`." && - expect_invalid_filter_spec combine:tree:2+sparse:~abc \ - "must escape char in sub-filter-spec: .\~." -' - -test_expect_success 'validate err msg for "combine:<valid-filter>+"' ' - expect_invalid_filter_spec combine:tree:2+ "expected .tree:<depth>." -' - -test_expect_success 'combine:... with edge-case hex digits: Ff Aa 0 9' ' - git -C r3 rev-list --objects --filter="combine:tree:2+bl%6Fb:n%6fne" \ - HEAD >actual && - test_line_count = 5 actual && - git -C r3 rev-list --objects --filter="combine:tree%3A2+blob%3anone" \ - HEAD >actual && - test_line_count = 5 actual && - git -C r3 rev-list --objects --filter="combine:tree:%30" HEAD >actual && - test_line_count = 2 actual && - git -C r3 rev-list --objects --filter="combine:tree:%39+blob:none" \ - HEAD >actual && - test_line_count = 5 actual -' - -test_expect_success 'add sparse pattern blobs whose paths have reserved chars' ' - cp r3/pattern r3/pattern1+renamed% && - cp r3/pattern "r3/p;at%ter+n" && - cp r3/pattern r3/^~pattern && - git -C r3 add pattern1+renamed% "p;at%ter+n" ^~pattern && - git -C r3 commit -m "add sparse pattern files with reserved chars" -' - -test_expect_success 'combine:... with more than two sub-filters' ' - git -C r3 rev-list --objects \ - --filter=combine:tree:3+blob:limit=40+sparse:oid=master:pattern \ - HEAD >actual && - - expect_has HEAD "" && - expect_has HEAD~1 "" && - expect_has HEAD~2 "" && - expect_has HEAD dir1 && - expect_has HEAD dir1/sparse1 && - expect_has HEAD dir1/sparse2 && - - # Should also have 3 commits - test_line_count = 9 actual && - - # Try again, this time making sure the last sub-filter is only - # URL-decoded once. - cp actual expect && - - git -C r3 rev-list --objects \ - --filter=combine:tree:3+blob:limit=40+sparse:oid=master:pattern1%2brenamed%25 \ - HEAD >actual && - test_cmp expect actual && - - # Use the same composite filter again, but with a pattern file name that - # requires encoding multiple characters, and use implicit filter - # combining. - test_when_finished "rm -f trace1" && - GIT_TRACE=$(pwd)/trace1 git -C r3 rev-list --objects \ - --filter=tree:3 --filter=blob:limit=40 \ - --filter=sparse:oid="master:p;at%ter+n" \ - HEAD >actual && - - test_cmp expect actual && - grep "Add to combine filter-spec: sparse:oid=master:p%3bat%25ter%2bn" \ - trace1 && - - # Repeat the above test, but this time, the characters to encode are in - # the LHS of the combined filter. - test_when_finished "rm -f trace2" && - GIT_TRACE=$(pwd)/trace2 git -C r3 rev-list --objects \ - --filter=sparse:oid=master:^~pattern \ - --filter=tree:3 --filter=blob:limit=40 \ - HEAD >actual && - - test_cmp expect actual && - grep "Add to combine filter-spec: sparse:oid=master:%5e%7epattern" \ - trace2 -' - # Test provisional omit collection logic with a repo that has objects appearing # at multiple depths - first deeper than the filter's threshold, then shallow. @@ -527,37 +373,6 @@ test_expect_success 'verify skipping tree iteration when collecting omits' ' test_cmp expect actual ' -test_expect_success 'setup r5' ' - git init r5 && - mkdir -p r5/subdir && - - echo 1 >r5/short-root && - echo 12345 >r5/long-root && - echo a >r5/subdir/short-subdir && - echo abcde >r5/subdir/long-subdir && - - git -C r5 add short-root long-root subdir && - git -C r5 commit -m "commit msg" -' - -test_expect_success 'verify collecting omits in combined: filter' ' - # Note that this test guards against the naive implementation of simply - # giving both filters the same "omits" set and expecting it to - # automatically merge them. - git -C r5 rev-list --objects --quiet --filter-print-omitted \ - --filter=combine:tree:2+blob:limit=3 HEAD >actual && - - # Expect 0 trees/commits, 3 blobs omitted (all blobs except short-root) - omitted_1=$(echo 12345 | git hash-object --stdin) && - omitted_2=$(echo a | git hash-object --stdin) && - omitted_3=$(echo abcde | git hash-object --stdin) && - - grep ~$omitted_1 actual && - grep ~$omitted_2 actual && - grep ~$omitted_3 actual && - test_line_count = 3 actual -' - # Test tree:<depth> where a tree is iterated to twice - once where a subentry is # too deep to be included, and again where the blob inside it is shallow enough # to be included. This makes sure we don't use LOFR_MARK_SEEN incorrectly (we @@ -626,4 +441,11 @@ test_expect_success 'expand blob limit in protocol' ' grep "blob:limit=1024" trace ' +test_expect_success 'expand tree depth limit in protocol' ' + GIT_TRACE_PACKET="$(pwd)/tree_trace" git -c protocol.version=2 clone \ + --filter=tree:0k "file://$(pwd)/r2" tree && + ! grep "tree:0k" tree_trace && + grep "tree:0" tree_trace +' + test_done |