Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElijah Newren <newren@gmail.com>2020-08-11 01:29:09 +0300
committerJunio C Hamano <gitster@pobox.com>2020-08-11 01:59:00 +0300
commit919df3195553af05c884d51588d12134d8dfab2a (patch)
tree5be83bccf1bb0554cebcf9687c637a175fb62d93 /t/t3032-merge-recursive-space-options.sh
parent4f0a8be78499454eac3985b6e7e144b8376ab0a5 (diff)
Collect merge-related tests to t64xx
The tests for the merge machinery are spread over several places. Collect them into t64xx for simplicity. Some notes: t60[234]*.sh: Merge tests started in t602*, overgrew bisect and remote tracking tests in t6030, t6040, and t6041, and nearly overtook replace tests in t6050. This made picking out relevant tests that I wanted to run in a tighter loop slightly more annoying for years. t303*.sh: These started out as tests for the 'merge-recursive' toplevel command, but did not restrict to that and had lots of overlap with the underlying merge machinery. t7405, t7613: submodule-specific merge logic started out in submodule.c but was moved to merge-recursive.c in commit 18cfc08866 ("submodule.c: move submodule merging to merge-recursive.c", 2018-05-15). Since these tests are about the logic found in the merge machinery, moving these tests to be with the merge tests makes sense. t7607, t7609: Having tests spread all over the place makes it more likely that additional tests related to a certain piece of logic grow in all those other places. Much like t303*.sh, these two tests were about the underlying merge machinery rather than outer levels. Tests that were NOT moved: t76[01]*.sh: Other than the four tests mentioned above, the remaining tests in t76[01]*.sh are related to non-recursive merge strategies, parameter parsing, and other stuff associated with the highlevel builtin/merge.c rather than the recursive merge machinery. t3[45]*.sh: The rebase testcases in t34*.sh also test the merge logic pretty heavily; sometimes changes I make only trigger failures in the rebase tests. The rebase tests are already nicely coupled together, though, and I didn't want to mess that up. Similar comments apply for the cherry-pick tests in t35*.sh. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t3032-merge-recursive-space-options.sh')
-rwxr-xr-xt/t3032-merge-recursive-space-options.sh207
1 files changed, 0 insertions, 207 deletions
diff --git a/t/t3032-merge-recursive-space-options.sh b/t/t3032-merge-recursive-space-options.sh
deleted file mode 100755
index b56180ee4a..0000000000
--- a/t/t3032-merge-recursive-space-options.sh
+++ /dev/null
@@ -1,207 +0,0 @@
-#!/bin/sh
-
-test_description='merge-recursive space options
-
-* [master] Clarify
- ! [remote] Remove cruft
---
- + [remote] Remove cruft
-* [master] Clarify
-*+ [remote^] Initial revision
-* ok 1: setup
-'
-
-. ./test-lib.sh
-
-test_have_prereq SED_STRIPS_CR && SED_OPTIONS=-b
-if test_have_prereq GREP_STRIPS_CR
-then
- GREP_OPTIONS=-U
- export GREP_OPTIONS
-fi
-
-test_expect_success 'setup' '
- conflict_hunks () {
- sed $SED_OPTIONS -n -e "
- /^<<<</ b conflict
- b
- : conflict
- p
- /^>>>>/ b
- n
- b conflict
- " "$@"
- } &&
-
- cat <<-\EOF >text.txt &&
- Hope, he says, cherishes the soul of him who lives in
- justice and holiness and is the nurse of his age and the
- companion of his journey;--hope which is mightiest to sway
- the restless soul of man.
-
- How admirable are his words! And the great blessing of riches, I do
- not say to every man, but to a good man, is, that he has had no
- occasion to deceive or to defraud others, either intentionally or
- unintentionally; and when he departs to the world below he is not in
- any apprehension about offerings due to the gods or debts which he owes
- to men. Now to this peace of mind the possession of wealth greatly
- contributes; and therefore I say, that, setting one thing against
- another, of the many advantages which wealth has to give, to a man of
- sense this is in my opinion the greatest.
-
- Well said, Cephalus, I replied; but as concerning justice, what is
- it?--to speak the truth and to pay your debts--no more than this? And
- even to this are there not exceptions? Suppose that a friend when in
- his right mind has deposited arms with me and he asks for them when he
- is not in his right mind, ought I to give them back to him? No one
- would say that I ought or that I should be right in doing so, any more
- than they would say that I ought always to speak the truth to one who
- is in his condition.
-
- You are quite right, he replied.
-
- But then, I said, speaking the truth and paying your debts is not a
- correct definition of justice.
-
- CEPHALUS - SOCRATES - POLEMARCHUS
-
- Quite correct, Socrates, if Simonides is to be believed, said
- Polemarchus interposing.
-
- I fear, said Cephalus, that I must go now, for I have to look after the
- sacrifices, and I hand over the argument to Polemarchus and the company.
- EOF
- git add text.txt &&
- test_tick &&
- git commit -m "Initial revision" &&
-
- git checkout -b remote &&
- sed -e "
- s/\. /\. /g
- s/[?] /? /g
- s/ / /g
- s/--/---/g
- s/but as concerning/but as con cerning/
- /CEPHALUS - SOCRATES - POLEMARCHUS/ d
- " text.txt >text.txt+ &&
- mv text.txt+ text.txt &&
- git commit -a -m "Remove cruft" &&
-
- git checkout master &&
- sed -e "
- s/\(not in his right mind\),\(.*\)/\1;\2Q/
- s/Quite correct\(.*\)/It is too correct\1Q/
- s/unintentionally/un intentionally/
- /un intentionally/ s/$/Q/
- s/Polemarchus interposing./Polemarchus, interposing.Q/
- /justice and holiness/ s/$/Q/
- /pay your debts/ s/$/Q/
- " text.txt | q_to_cr >text.txt+ &&
- mv text.txt+ text.txt &&
- git commit -a -m "Clarify" &&
- git show-branch --all
-'
-
-test_expect_success 'naive merge fails' '
- git read-tree --reset -u HEAD &&
- test_must_fail git merge-recursive HEAD^ -- HEAD remote &&
- test_must_fail git update-index --refresh &&
- grep "<<<<<<" text.txt
-'
-
-test_expect_success '--ignore-space-change makes merge succeed' '
- git read-tree --reset -u HEAD &&
- git merge-recursive --ignore-space-change HEAD^ -- HEAD remote
-'
-
-test_expect_success 'naive cherry-pick fails' '
- git read-tree --reset -u HEAD &&
- test_must_fail git cherry-pick --no-commit remote &&
- git read-tree --reset -u HEAD &&
- test_must_fail git cherry-pick remote &&
- test_must_fail git update-index --refresh &&
- grep "<<<<<<" text.txt
-'
-
-test_expect_success '-Xignore-space-change makes cherry-pick succeed' '
- git read-tree --reset -u HEAD &&
- git cherry-pick --no-commit -Xignore-space-change remote
-'
-
-test_expect_success '--ignore-space-change: our w/s-only change wins' '
- q_to_cr <<-\EOF >expected &&
- justice and holiness and is the nurse of his age and theQ
- EOF
-
- git read-tree --reset -u HEAD &&
- git merge-recursive --ignore-space-change HEAD^ -- HEAD remote &&
- grep "justice and holiness" text.txt >actual &&
- test_cmp expected actual
-'
-
-test_expect_success '--ignore-space-change: their real change wins over w/s' '
- cat <<-\EOF >expected &&
- it?---to speak the truth and to pay your debts---no more than this? And
- EOF
-
- git read-tree --reset -u HEAD &&
- git merge-recursive --ignore-space-change HEAD^ -- HEAD remote &&
- grep "pay your debts" text.txt >actual &&
- test_cmp expected actual
-'
-
-test_expect_success '--ignore-space-change: does not ignore new spaces' '
- cat <<-\EOF >expected1 &&
- Well said, Cephalus, I replied; but as con cerning justice, what is
- EOF
- q_to_cr <<-\EOF >expected2 &&
- un intentionally; and when he departs to the world below he is not inQ
- EOF
-
- git read-tree --reset -u HEAD &&
- git merge-recursive --ignore-space-change HEAD^ -- HEAD remote &&
- grep "Well said" text.txt >actual1 &&
- grep "when he departs" text.txt >actual2 &&
- test_cmp expected1 actual1 &&
- test_cmp expected2 actual2
-'
-
-test_expect_success '--ignore-all-space drops their new spaces' '
- cat <<-\EOF >expected &&
- Well said, Cephalus, I replied; but as concerning justice, what is
- EOF
-
- git read-tree --reset -u HEAD &&
- git merge-recursive --ignore-all-space HEAD^ -- HEAD remote &&
- grep "Well said" text.txt >actual &&
- test_cmp expected actual
-'
-
-test_expect_success '--ignore-all-space keeps our new spaces' '
- q_to_cr <<-\EOF >expected &&
- un intentionally; and when he departs to the world below he is not inQ
- EOF
-
- git read-tree --reset -u HEAD &&
- git merge-recursive --ignore-all-space HEAD^ -- HEAD remote &&
- grep "when he departs" text.txt >actual &&
- test_cmp expected actual
-'
-
-test_expect_success '--ignore-space-at-eol' '
- q_to_cr <<-\EOF >expected &&
- <<<<<<< HEAD
- is not in his right mind; ought I to give them back to him? No oneQ
- =======
- is not in his right mind, ought I to give them back to him? No one
- >>>>>>> remote
- EOF
-
- git read-tree --reset -u HEAD &&
- test_must_fail git merge-recursive --ignore-space-at-eol \
- HEAD^ -- HEAD remote &&
- conflict_hunks text.txt >actual &&
- test_cmp expected actual
-'
-
-test_done