git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
blob 918b86fb6334b0d879a95c997310ab847e7c30c8 2079 bytes (raw)
name: t/t4057-diff-combined-paths.sh 	 # note: path name is non-authoritative(*)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
 
#!/bin/sh

test_description='combined diff show only paths that are different to all parents'

. ./test-lib.sh

# verify that diffc.expect matches output of
# $(git diff -c --name-only HEAD HEAD^ HEAD^2)
diffc_verify () {
	git diff -c --name-only HEAD HEAD^ HEAD^2 >diffc.actual &&
	test_cmp diffc.expect diffc.actual
}

test_expect_success 'trivial merge - combine-diff empty' '
	for i in $(test_seq 1 9)
	do
		echo $i >$i.txt &&
		git add $i.txt
	done &&
	git commit -m "init" &&
	git checkout -b side &&
	for i in $(test_seq 2 9)
	do
		echo $i/2 >>$i.txt
	done &&
	git commit -a -m "side 2-9" &&
	git checkout main &&
	echo 1/2 >1.txt &&
	git commit -a -m "main 1" &&
	git merge side &&
	>diffc.expect &&
	diffc_verify
'


test_expect_success 'only one truly conflicting path' '
	git checkout side &&
	for i in $(test_seq 2 9)
	do
		echo $i/3 >>$i.txt
	done &&
	echo "4side" >>4.txt &&
	git commit -a -m "side 2-9 +4" &&
	git checkout main &&
	for i in $(test_seq 1 9)
	do
		echo $i/3 >>$i.txt
	done &&
	echo "4main" >>4.txt &&
	git commit -a -m "main 1-9 +4" &&
	test_must_fail git merge side &&
	cat <<-\EOF >4.txt &&
	4
	4/2
	4/3
	4main
	4side
	EOF
	git add 4.txt &&
	git commit -m "merge side (2)" &&
	echo 4.txt >diffc.expect &&
	diffc_verify
'

test_expect_success 'merge introduces new file' '
	git checkout side &&
	for i in $(test_seq 5 9)
	do
		echo $i/4 >>$i.txt
	done &&
	git commit -a -m "side 5-9" &&
	git checkout main &&
	for i in $(test_seq 1 3)
	do
		echo $i/4 >>$i.txt
	done &&
	git commit -a -m "main 1-3 +4hello" &&
	git merge side &&
	echo "Hello World" >4hello.txt &&
	git add 4hello.txt &&
	git commit --amend &&
	echo 4hello.txt >diffc.expect &&
	diffc_verify
'

test_expect_success 'merge removed a file' '
	git checkout side &&
	for i in $(test_seq 5 9)
	do
		echo $i/5 >>$i.txt
	done &&
	git commit -a -m "side 5-9" &&
	git checkout main &&
	for i in $(test_seq 1 3)
	do
		echo $i/4 >>$i.txt
	done &&
	git commit -a -m "main 1-3" &&
	git merge side &&
	git rm 4.txt &&
	git commit --amend &&
	echo 4.txt >diffc.expect &&
	diffc_verify
'

test_done

debug log:

solving 918b86fb63 ...
found 918b86fb63 in https://public-inbox.org/git/d141e476b18bd0bdc0b559223f1fe242cfa4ea8c.1605221039.git.gitgitgadget@gmail.com/ ||
	https://public-inbox.org/git/cf6c1d1d83fc7665167229304f5ba110656da310.1605629548.git.gitgitgadget@gmail.com/
found 0b78573733 in https://80x24.org/mirrors/git.git
preparing index
index prepared:
100755 0b78573733b30716d1ed4fb8bd2fdeee0c5b9d83	t/t4057-diff-combined-paths.sh

applying [1/1] https://public-inbox.org/git/d141e476b18bd0bdc0b559223f1fe242cfa4ea8c.1605221039.git.gitgitgadget@gmail.com/
diff --git a/t/t4057-diff-combined-paths.sh b/t/t4057-diff-combined-paths.sh
index 0b78573733..918b86fb63 100755

Checking patch t/t4057-diff-combined-paths.sh...
Applied patch t/t4057-diff-combined-paths.sh cleanly.

skipping https://public-inbox.org/git/cf6c1d1d83fc7665167229304f5ba110656da310.1605629548.git.gitgitgadget@gmail.com/ for 918b86fb63
index at:
100755 918b86fb6334b0d879a95c997310ab847e7c30c8	t/t4057-diff-combined-paths.sh

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).