diff options
author | Vincent Ambo <mail@tazj.in> | 2021-09-21T10·03+0300 |
---|---|---|
committer | Vincent Ambo <mail@tazj.in> | 2021-09-21T11·29+0300 |
commit | 43b1791ec601732ac31195df96781a848360a9ac (patch) | |
tree | daae8d638343295d2f1f7da955e556ef4c958864 /third_party/git/t/t6418-merge-text-auto.sh | |
parent | 2d8e7dc9d9c38127ec4ebd13aee8e8f586a43318 (diff) |
chore(3p/git): Unvendor git and track patches instead r/2903
This was vendored a long time ago under the expectation that keeping it in sync with cgit would be easier this way, but it has proven not to be a big issue. On the other hand, a vendored copy of git is an annoying maintenance burden. It is much easier to rebase the single (dottime) patch that we have. This removes the vendored copy of git and instead passes the git source code to cgit via `pkgs.srcOnly`, which includes the applied patch so that cgit can continue rendering dottime. Change-Id: If31f62dea7ce688fd1b9050204e9378019775f2b
Diffstat (limited to 'third_party/git/t/t6418-merge-text-auto.sh')
-rwxr-xr-x | third_party/git/t/t6418-merge-text-auto.sh | 204 |
1 files changed, 0 insertions, 204 deletions
diff --git a/third_party/git/t/t6418-merge-text-auto.sh b/third_party/git/t/t6418-merge-text-auto.sh deleted file mode 100755 index 30983d18b1ba..000000000000 --- a/third_party/git/t/t6418-merge-text-auto.sh +++ /dev/null @@ -1,204 +0,0 @@ -#!/bin/sh - -test_description='CRLF merge conflict across text=auto change - -* [master] remove .gitattributes - ! [side] add line from b --- - + [side] add line from b -* [master] remove .gitattributes -* [master^] add line from a -* [master~2] normalize file -*+ [side^] Initial -' - -. ./test-lib.sh - -test_have_prereq SED_STRIPS_CR && SED_OPTIONS=-b - -compare_files () { - tr '\015\000' QN <"$1" >"$1".expect && - tr '\015\000' QN <"$2" >"$2".actual && - test_cmp "$1".expect "$2".actual && - rm "$1".expect "$2".actual -} - -test_expect_success setup ' - git config core.autocrlf false && - - echo first line | append_cr >file && - echo first line >control_file && - echo only line >inert_file && - - git add file control_file inert_file && - test_tick && - git commit -m "Initial" && - git tag initial && - git branch side && - - echo "* text=auto" >.gitattributes && - echo first line >file && - git add .gitattributes file && - test_tick && - git commit -m "normalize file" && - - echo same line | append_cr >>file && - echo same line >>control_file && - git add file control_file && - test_tick && - git commit -m "add line from a" && - git tag a && - - git rm .gitattributes && - rm file && - git checkout file && - test_tick && - git commit -m "remove .gitattributes" && - git tag c && - - git checkout side && - echo same line | append_cr >>file && - echo same line >>control_file && - git add file control_file && - test_tick && - git commit -m "add line from b" && - git tag b && - - git checkout master -' - -test_expect_success 'set up fuzz_conflict() helper' ' - fuzz_conflict() { - sed $SED_OPTIONS -e "s/^\([<>=]......\) .*/\1/" "$@" - } -' - -test_expect_success 'Merge after setting text=auto' ' - cat <<-\EOF >expected && - first line - same line - EOF - - if test_have_prereq NATIVE_CRLF; then - append_cr <expected >expected.temp && - mv expected.temp expected - fi && - git config merge.renormalize true && - git rm -fr . && - rm -f .gitattributes && - git reset --hard a && - git merge b && - compare_files expected file -' - -test_expect_success 'Merge addition of text=auto eol=LF' ' - git config core.eol lf && - cat <<-\EOF >expected && - first line - same line - EOF - - git config merge.renormalize true && - git rm -fr . && - rm -f .gitattributes && - git reset --hard b && - git merge a && - compare_files expected file -' - -test_expect_success 'Merge addition of text=auto eol=CRLF' ' - git config core.eol crlf && - cat <<-\EOF >expected && - first line - same line - EOF - - append_cr <expected >expected.temp && - mv expected.temp expected && - git config merge.renormalize true && - git rm -fr . && - rm -f .gitattributes && - git reset --hard b && - echo >&2 "After git reset --hard b" && - git ls-files -s --eol >&2 && - git merge a && - compare_files expected file -' - -test_expect_success 'Detect CRLF/LF conflict after setting text=auto' ' - git config core.eol native && - echo "<<<<<<<" >expected && - echo first line >>expected && - echo same line >>expected && - echo ======= >>expected && - echo first line | append_cr >>expected && - echo same line | append_cr >>expected && - echo ">>>>>>>" >>expected && - git config merge.renormalize false && - rm -f .gitattributes && - git reset --hard a && - test_must_fail git merge b && - fuzz_conflict file >file.fuzzy && - compare_files expected file.fuzzy -' - -test_expect_success 'Detect LF/CRLF conflict from addition of text=auto' ' - echo "<<<<<<<" >expected && - echo first line | append_cr >>expected && - echo same line | append_cr >>expected && - echo ======= >>expected && - echo first line >>expected && - echo same line >>expected && - echo ">>>>>>>" >>expected && - git config merge.renormalize false && - rm -f .gitattributes && - git reset --hard b && - test_must_fail git merge a && - fuzz_conflict file >file.fuzzy && - compare_files expected file.fuzzy -' - -test_expect_success 'checkout -m after setting text=auto' ' - cat <<-\EOF >expected && - first line - same line - EOF - - git config merge.renormalize true && - git rm -fr . && - rm -f .gitattributes && - git reset --hard initial && - git restore --source=a -- . && - git checkout -m b && - git diff --no-index --ignore-cr-at-eol expected file -' - -test_expect_success 'checkout -m addition of text=auto' ' - cat <<-\EOF >expected && - first line - same line - EOF - - git config merge.renormalize true && - git rm -fr . && - rm -f .gitattributes file && - git reset --hard initial && - git restore --source=b -- . && - git checkout -m a && - git diff --no-index --ignore-cr-at-eol expected file -' - -test_expect_success 'Test delete/normalize conflict' ' - git checkout -f side && - git rm -fr . && - rm -f .gitattributes && - git reset --hard initial && - git rm file && - git commit -m "remove file" && - git checkout master && - git reset --hard a^ && - git merge side && - test_path_is_missing file -' - -test_done |