diff options
author | Junio C Hamano <gitster@pobox.com> | 2023-05-17 10:11:41 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-05-17 10:11:41 -0700 |
commit | 67a3b2b39f638872531324e03217fa58f7b9ad1e (patch) | |
tree | 5c4e9c7b9e2c0efc9c9f9e7e70fb11b104f95890 /t/lib-diff-alternative.sh | |
parent | 3307f7dde2ae8f5281d0782f7291a073c9b1cdc2 (diff) | |
parent | 44451a2e5eec5360378be23e2cdbd9ecee49e14e (diff) | |
download | git-67a3b2b39f638872531324e03217fa58f7b9ad1e.tar.gz |
Merge branch 'jc/attr-source-tree'
"git --attr-source=<tree> cmd $args" is a new way to have any
command to read attributes not from the working tree but from the
given tree object.
* jc/attr-source-tree:
attr: teach "--attr-source=<tree>" global option to "git"
Diffstat (limited to 't/lib-diff-alternative.sh')
-rw-r--r-- | t/lib-diff-alternative.sh | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/t/lib-diff-alternative.sh b/t/lib-diff-alternative.sh index a8f5d3274a..c4dc2d46dc 100644 --- a/t/lib-diff-alternative.sh +++ b/t/lib-diff-alternative.sh @@ -112,15 +112,36 @@ EOF STRATEGY=$1 - test_expect_success "$STRATEGY diff from attributes" ' + test_expect_success "setup attributes files for tests with $STRATEGY" ' + git checkout -b master && echo "file* diff=driver" >.gitattributes && - git config diff.driver.algorithm "$STRATEGY" && - test_must_fail git diff --no-index file1 file2 > output && - cat expect && - cat output && + git add file1 file2 .gitattributes && + git commit -m "adding files" && + git checkout -b branchA && + echo "file* diff=driverA" >.gitattributes && + git add .gitattributes && + git commit -m "adding driverA as diff driver" && + git checkout master && + git clone --bare --no-local . bare.git + ' + + test_expect_success "$STRATEGY diff from attributes" ' + test_must_fail git -c diff.driver.algorithm=$STRATEGY diff --no-index file1 file2 > output && test_cmp expect output ' + test_expect_success "diff from attributes with bare repo with source" ' + git -C bare.git --attr-source=branchA -c diff.driver.algorithm=myers \ + -c diff.driverA.algorithm=$STRATEGY \ + diff HEAD:file1 HEAD:file2 >output && + test_cmp expect output + ' + + test_expect_success "diff from attributes with bare repo with invalid source" ' + test_must_fail git -C bare.git --attr-source=invalid-branch diff \ + HEAD:file1 HEAD:file2 + ' + test_expect_success "$STRATEGY diff from attributes has valid diffstat" ' echo "file* diff=driver" >.gitattributes && git config diff.driver.algorithm "$STRATEGY" && |