* maint: t1301-shared-repo.sh: don't let a default ACL interfere with the test git-check-attr(1): add output and example sections xdiff-interface.c: strip newline (and cr) from line before pattern matching t4018-diff-funcname: demonstrate end of line funcname matching flaw t4018-diff-funcname: rework negated last expression test Typo "does not exists" when git remote update remote. remote.c: correct the check for a leading '/' in a remote name Add testcase to ensure merging an early part of a branch is done properly Conflicts: t/t7600-merge.sh
		
			
				
	
	
		
			85 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
#
 | 
						|
# Copyright (c) 2007 Johannes E. Schindelin
 | 
						|
#
 | 
						|
 | 
						|
test_description='Test custom diff function name patterns'
 | 
						|
 | 
						|
. ./test-lib.sh
 | 
						|
 | 
						|
LF='
 | 
						|
'
 | 
						|
 | 
						|
cat > Beer.java << EOF
 | 
						|
public class Beer
 | 
						|
{
 | 
						|
	int special;
 | 
						|
	public static void main(String args[])
 | 
						|
	{
 | 
						|
		String s=" ";
 | 
						|
		for(int x = 99; x > 0; x--)
 | 
						|
		{
 | 
						|
			System.out.print(x + " bottles of beer on the wall "
 | 
						|
				+ x + " bottles of beer\n"
 | 
						|
				+ "Take one down, pass it around, " + (x - 1)
 | 
						|
				+ " bottles of beer on the wall.\n");
 | 
						|
		}
 | 
						|
		System.out.print("Go to the store, buy some more,\n"
 | 
						|
			+ "99 bottles of beer on the wall.\n");
 | 
						|
	}
 | 
						|
}
 | 
						|
EOF
 | 
						|
 | 
						|
sed 's/beer\\/beer,\\/' < Beer.java > Beer-correct.java
 | 
						|
 | 
						|
builtin_patterns="bibtex html java objc pascal php python ruby tex"
 | 
						|
for p in $builtin_patterns
 | 
						|
do
 | 
						|
	test_expect_success "builtin $p pattern compiles" '
 | 
						|
		echo "*.java diff=$p" > .gitattributes &&
 | 
						|
		! ( git diff --no-index Beer.java Beer-correct.java 2>&1 |
 | 
						|
			grep "fatal" > /dev/null )
 | 
						|
	'
 | 
						|
done
 | 
						|
 | 
						|
test_expect_success 'default behaviour' '
 | 
						|
	rm -f .gitattributes &&
 | 
						|
	git diff --no-index Beer.java Beer-correct.java |
 | 
						|
	grep "^@@.*@@ public class Beer"
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'preset java pattern' '
 | 
						|
	echo "*.java diff=java" >.gitattributes &&
 | 
						|
	git diff --no-index Beer.java Beer-correct.java |
 | 
						|
	grep "^@@.*@@ public static void main("
 | 
						|
'
 | 
						|
 | 
						|
git config diff.java.funcname '!static
 | 
						|
!String
 | 
						|
[^ 	].*s.*'
 | 
						|
 | 
						|
test_expect_success 'custom pattern' '
 | 
						|
	git diff --no-index Beer.java Beer-correct.java |
 | 
						|
	grep "^@@.*@@ int special;$"
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'last regexp must not be negated' '
 | 
						|
	git config diff.java.funcname "!static" &&
 | 
						|
	git diff --no-index Beer.java Beer-correct.java 2>&1 |
 | 
						|
	grep "fatal: Last expression must not be negated:"
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'pattern which matches to end of line' '
 | 
						|
	git config diff.java.funcname "Beer$" &&
 | 
						|
	git diff --no-index Beer.java Beer-correct.java |
 | 
						|
	grep "^@@.*@@ Beer"
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'alternation in pattern' '
 | 
						|
	git config diff.java.xfuncname "^[ 	]*((public|static).*)$" &&
 | 
						|
	git diff --no-index Beer.java Beer-correct.java |
 | 
						|
	grep "^@@.*@@ public static void main("
 | 
						|
'
 | 
						|
 | 
						|
test_done
 |