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/contrib/diff-highlight/t | |
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/contrib/diff-highlight/t')
3 files changed, 0 insertions, 365 deletions
diff --git a/third_party/git/contrib/diff-highlight/t/.gitignore b/third_party/git/contrib/diff-highlight/t/.gitignore deleted file mode 100644 index 7dcbb232cd87..000000000000 --- a/third_party/git/contrib/diff-highlight/t/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/trash directory* -/test-results diff --git a/third_party/git/contrib/diff-highlight/t/Makefile b/third_party/git/contrib/diff-highlight/t/Makefile deleted file mode 100644 index 5ff5275496c5..000000000000 --- a/third_party/git/contrib/diff-highlight/t/Makefile +++ /dev/null @@ -1,22 +0,0 @@ --include ../../../config.mak.autogen --include ../../../config.mak - -# copied from ../../t/Makefile -SHELL_PATH ?= $(SHELL) -SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) -T = $(wildcard t[0-9][0-9][0-9][0-9]-*.sh) - -all: test -test: $(T) - -.PHONY: help clean all test $(T) - -help: - @echo 'Run "$(MAKE) test" to launch test scripts' - @echo 'Run "$(MAKE) clean" to remove trash folders' - -$(T): - @echo "*** $@ ***"; '$(SHELL_PATH_SQ)' $@ $(GIT_TEST_OPTS) - -clean: - $(RM) -r 'trash directory'.* diff --git a/third_party/git/contrib/diff-highlight/t/t9400-diff-highlight.sh b/third_party/git/contrib/diff-highlight/t/t9400-diff-highlight.sh deleted file mode 100755 index f6f5195d00f6..000000000000 --- a/third_party/git/contrib/diff-highlight/t/t9400-diff-highlight.sh +++ /dev/null @@ -1,341 +0,0 @@ -#!/bin/sh - -test_description='Test diff-highlight' - -CURR_DIR=$(pwd) -TEST_OUTPUT_DIRECTORY=$(pwd) -TEST_DIRECTORY="$CURR_DIR"/../../../t -DIFF_HIGHLIGHT="$CURR_DIR"/../diff-highlight - -CW="$(printf "\033[7m")" # white -CR="$(printf "\033[27m")" # reset - -. "$TEST_DIRECTORY"/test-lib.sh - -if ! test_have_prereq PERL -then - skip_all='skipping diff-highlight tests; perl not available' - test_done -fi - -# dh_test is a test helper function which takes 3 file names as parameters. The -# first 2 files are used to generate diff and commit output, which is then -# piped through diff-highlight. The 3rd file should contain the expected output -# of diff-highlight (minus the diff/commit header, ie. everything after and -# including the first @@ line). -dh_test () { - a="$1" b="$2" && - - cat >patch.exp && - - { - cat "$a" >file && - git add file && - git commit -m "Add a file" && - - cat "$b" >file && - git diff file >diff.raw && - git commit -a -m "Update a file" && - git show >commit.raw - } >/dev/null && - - "$DIFF_HIGHLIGHT" <diff.raw | test_strip_patch_header >diff.act && - "$DIFF_HIGHLIGHT" <commit.raw | test_strip_patch_header >commit.act && - test_cmp patch.exp diff.act && - test_cmp patch.exp commit.act -} - -test_strip_patch_header () { - sed -n '/^@@/,$p' $* -} - -# dh_test_setup_history generates a contrived graph such that we have at least -# 1 nesting (E) and 2 nestings (F). -# -# A---B master -# / -# D---E---F branch -# -# git log --all --graph -# * commit -# | B -# | * commit -# | | F -# * | commit -# | | A -# | * commit -# |/ -# | E -# * commit -# D -# -dh_test_setup_history () { - echo file1 >file && - git add file && - test_tick && - git commit -m "D" && - - git checkout -b branch && - echo file2 >file && - test_tick && - git commit -a -m "E" && - - git checkout master && - echo file2 >file && - test_tick && - git commit -a -m "A" && - - git checkout branch && - echo file3 >file && - test_tick && - git commit -a -m "F" && - - git checkout master && - echo file3 >file && - test_tick && - git commit -a -m "B" -} - -left_trim () { - "$PERL_PATH" -pe 's/^\s+//' -} - -trim_graph () { - # graphs start with * or | - # followed by a space or / or \ - "$PERL_PATH" -pe 's@^((\*|\|)( |/|\\))+@@' -} - -test_expect_success 'diff-highlight highlights the beginning of a line' ' - cat >a <<-\EOF && - aaa - bbb - ccc - EOF - - cat >b <<-\EOF && - aaa - 0bb - ccc - EOF - - dh_test a b <<-EOF - @@ -1,3 +1,3 @@ - aaa - -${CW}b${CR}bb - +${CW}0${CR}bb - ccc - EOF -' - -test_expect_success 'diff-highlight highlights the end of a line' ' - cat >a <<-\EOF && - aaa - bbb - ccc - EOF - - cat >b <<-\EOF && - aaa - bb0 - ccc - EOF - - dh_test a b <<-EOF - @@ -1,3 +1,3 @@ - aaa - -bb${CW}b${CR} - +bb${CW}0${CR} - ccc - EOF -' - -test_expect_success 'diff-highlight highlights the middle of a line' ' - cat >a <<-\EOF && - aaa - bbb - ccc - EOF - - cat >b <<-\EOF && - aaa - b0b - ccc - EOF - - dh_test a b <<-EOF - @@ -1,3 +1,3 @@ - aaa - -b${CW}b${CR}b - +b${CW}0${CR}b - ccc - EOF -' - -test_expect_success 'diff-highlight does not highlight whole line' ' - cat >a <<-\EOF && - aaa - bbb - ccc - EOF - - cat >b <<-\EOF && - aaa - 000 - ccc - EOF - - dh_test a b <<-EOF - @@ -1,3 +1,3 @@ - aaa - -bbb - +000 - ccc - EOF -' - -test_expect_failure 'diff-highlight highlights mismatched hunk size' ' - cat >a <<-\EOF && - aaa - bbb - EOF - - cat >b <<-\EOF && - aaa - b0b - ccc - EOF - - dh_test a b <<-EOF - @@ -1,3 +1,3 @@ - aaa - -b${CW}b${CR}b - +b${CW}0${CR}b - +ccc - EOF -' - -# These two code points share the same leading byte in UTF-8 representation; -# a naive byte-wise diff would highlight only the second byte. -# -# - U+00f3 ("o" with acute) -o_accent=$(printf '\303\263') -# - U+00f8 ("o" with stroke) -o_stroke=$(printf '\303\270') - -test_expect_success 'diff-highlight treats multibyte utf-8 as a unit' ' - echo "unic${o_accent}de" >a && - echo "unic${o_stroke}de" >b && - dh_test a b <<-EOF - @@ -1 +1 @@ - -unic${CW}${o_accent}${CR}de - +unic${CW}${o_stroke}${CR}de - EOF -' - -# Unlike the UTF-8 above, these are combining code points which are meant -# to modify the character preceding them: -# -# - U+0301 (combining acute accent) -combine_accent=$(printf '\314\201') -# - U+0302 (combining circumflex) -combine_circum=$(printf '\314\202') - -test_expect_failure 'diff-highlight treats combining code points as a unit' ' - echo "unico${combine_accent}de" >a && - echo "unico${combine_circum}de" >b && - dh_test a b <<-EOF - @@ -1 +1 @@ - -unic${CW}o${combine_accent}${CR}de - +unic${CW}o${combine_circum}${CR}de - EOF -' - -test_expect_success 'diff-highlight works with the --graph option' ' - dh_test_setup_history && - - # date-order so that the commits are interleaved for both - # trim graph elements so we can do a diff - # trim leading space because our trim_graph is not perfect - git log --branches -p --date-order | - "$DIFF_HIGHLIGHT" | left_trim >graph.exp && - git log --branches -p --date-order --graph | - "$DIFF_HIGHLIGHT" | trim_graph | left_trim >graph.act && - test_cmp graph.exp graph.act -' - -# Just reuse the previous graph test, but with --color. Our trimming -# doesn't know about color, so just sanity check that something got -# highlighted. -test_expect_success 'diff-highlight works with color graph' ' - git log --branches -p --date-order --graph --color | - "$DIFF_HIGHLIGHT" | trim_graph | left_trim >graph && - grep "\[7m" graph -' - -# Most combined diffs won't meet diff-highlight's line-number filter. So we -# create one here where one side drops a line and the other modifies it. That -# should result in a diff like: -# -# - modified content -# ++resolved content -# -# which naively looks like one side added "+resolved". -test_expect_success 'diff-highlight ignores combined diffs' ' - echo "content" >file && - git add file && - git commit -m base && - - >file && - git commit -am master && - - git checkout -b other HEAD^ && - echo "modified content" >file && - git commit -am other && - - test_must_fail git merge master && - echo "resolved content" >file && - git commit -am resolved && - - cat >expect <<-\EOF && - --- a/file - +++ b/file - @@@ -1,1 -1,0 +1,1 @@@ - - modified content - ++resolved content - EOF - - git show -c | "$DIFF_HIGHLIGHT" >actual.raw && - sed -n "/^---/,\$p" <actual.raw >actual && - test_cmp expect actual -' - -test_expect_success 'diff-highlight handles --graph with leading dash' ' - cat >file <<-\EOF && - before - the old line - -leading dash - EOF - git add file && - git commit -m before && - - sed s/old/new/ <file >file.tmp && - mv file.tmp file && - git add file && - git commit -m after && - - cat >expect <<-EOF && - --- a/file - +++ b/file - @@ -1,3 +1,3 @@ - before - -the ${CW}old${CR} line - +the ${CW}new${CR} line - -leading dash - EOF - git log --graph -p -1 | "$DIFF_HIGHLIGHT" >actual.raw && - trim_graph <actual.raw | sed -n "/^---/,\$p" >actual && - test_cmp expect actual -' - -test_done |