Merge commit 'mingw/master' into work/merge-mingw

This commit is contained in:
Steffen Prohaska
2007-12-28 10:10:45 +01:00
44 changed files with 993 additions and 230 deletions

View File

@@ -448,6 +448,23 @@ test_expect_success numbers '
test z1048576 = "z$m"
'
cat > expect <<EOF
fatal: bad config value for 'aninvalid.unit' in .git/config
EOF
test_expect_success 'invalid unit' '
git config aninvalid.unit "1auto" &&
s=$(git config aninvalid.unit) &&
test "z1auto" = "z$s" &&
if git config --int --get aninvalid.unit 2>actual
then
echo config should have failed
false
fi &&
cmp actual expect
'
cat > expect << EOF
true
false

View File

@@ -10,58 +10,146 @@ z="$z$z$z$z$z$z$z$z" ;# 512
z="$z$z$z$z" ;# 2048
z2047=$(expr "$z" : '.\(.*\)') ; #2047
test_expect_success setup '
x=zzzzzzzzzz ;# 10
y="$x$x$x$x$x$x$x$x$x$x" ;# 100
z="$y$y$y$y$y$y$y$y$y$y" ;# 1000
z1000=$z
z100=$y
z10=$x
echo "a$z2047" >file-a &&
echo "b" >file-b &&
echo "$z2047" >>file-b &&
echo "c$z2047" | tr -d "\012" >file-c &&
echo "d" >file-d &&
echo "$z2047" | tr -d "\012" >>file-d &&
zs() {
count="$1"
while test "$count" -ge 1000
do
count=$(($count - 1000))
printf "%s" $z1000
done
while test "$count" -ge 100
do
count=$(($count - 100))
printf "%s" $z100
done
while test "$count" -ge 10
do
count=$(($count - 10))
printf "%s" $z10
done
while test "$count" -ge 1
do
count=$(($count - 1))
printf "z"
done
}
git add file-a file-b file-c file-d &&
zc () {
sed -e "/^index/d" \
-e "s/$z1000/Q/g" \
-e "s/QQQQQQQQQ/Z9000/g" \
-e "s/QQQQQQQQ/Z8000/g" \
-e "s/QQQQQQQ/Z7000/g" \
-e "s/QQQQQQ/Z6000/g" \
-e "s/QQQQQ/Z5000/g" \
-e "s/QQQQ/Z4000/g" \
-e "s/QQQ/Z3000/g" \
-e "s/QQ/Z2000/g" \
-e "s/Q/Z1000/g" \
-e "s/$z100/Q/g" \
-e "s/QQQQQQQQQ/Z900/g" \
-e "s/QQQQQQQQ/Z800/g" \
-e "s/QQQQQQQ/Z700/g" \
-e "s/QQQQQQ/Z600/g" \
-e "s/QQQQQ/Z500/g" \
-e "s/QQQQ/Z400/g" \
-e "s/QQQ/Z300/g" \
-e "s/QQ/Z200/g" \
-e "s/Q/Z100/g" \
-e "s/000Z//g" \
-e "s/$z10/Q/g" \
-e "s/QQQQQQQQQ/Z90/g" \
-e "s/QQQQQQQQ/Z80/g" \
-e "s/QQQQQQQ/Z70/g" \
-e "s/QQQQQQ/Z60/g" \
-e "s/QQQQQ/Z50/g" \
-e "s/QQQQ/Z40/g" \
-e "s/QQQ/Z30/g" \
-e "s/QQ/Z20/g" \
-e "s/Q/Z10/g" \
-e "s/00Z//g" \
-e "s/z/Q/g" \
-e "s/QQQQQQQQQ/Z9/g" \
-e "s/QQQQQQQQ/Z8/g" \
-e "s/QQQQQQQ/Z7/g" \
-e "s/QQQQQQ/Z6/g" \
-e "s/QQQQQ/Z5/g" \
-e "s/QQQQ/Z4/g" \
-e "s/QQQ/Z3/g" \
-e "s/QQ/Z2/g" \
-e "s/Q/Z1/g" \
-e "s/0Z//g" \
;
}
echo "A$z2047" >file-a &&
echo "B" >file-b &&
echo "$z2047" >>file-b &&
echo "C$z2047" | tr -d "\012" >file-c &&
echo "D" >file-d &&
echo "$z2047" | tr -d "\012" >>file-d
'
cat >expect <<\EOF
diff --git a/file-a b/file-a
--- a/file-a
+++ b/file-a
expect_pattern () {
cnt="$1"
cat <<EOF
diff --git a/file-a$cnt b/file-a$cnt
--- a/file-a$cnt
+++ b/file-a$cnt
@@ -1 +1 @@
-aZ
+AZ
diff --git a/file-b b/file-b
--- a/file-b
+++ b/file-b
-Z${cnt}a
+Z${cnt}A
diff --git a/file-b$cnt b/file-b$cnt
--- a/file-b$cnt
+++ b/file-b$cnt
@@ -1 +1 @@
-b
+B
diff --git a/file-c b/file-c
--- a/file-c
+++ b/file-c
diff --git a/file-c$cnt b/file-c$cnt
--- a/file-c$cnt
+++ b/file-c$cnt
@@ -1 +1 @@
-cZ
-cZ$cnt
\ No newline at end of file
+CZ
+CZ$cnt
\ No newline at end of file
diff --git a/file-d b/file-d
--- a/file-d
+++ b/file-d
diff --git a/file-d$cnt b/file-d$cnt
--- a/file-d$cnt
+++ b/file-d$cnt
@@ -1 +1 @@
-d
+D
EOF
}
sample='1023 1024 1025 2047 4095'
test_expect_success setup '
for n in $sample
do
( zs $n ; echo a ) >file-a$n &&
( echo b; zs $n; echo ) >file-b$n &&
( printf c; zs $n ) >file-c$n &&
( echo d; zs $n ) >file-d$n &&
git add file-a$n file-b$n file-c$n file-d$n &&
( zs $n ; echo A ) >file-a$n &&
( echo B; zs $n; echo ) >file-b$n &&
( printf C; zs $n ) >file-c$n &&
( echo D; zs $n ) >file-d$n &&
expect_pattern $n || break
done >expect
'
test_expect_success 'diff -U0' '
git diff -U0 | sed -e "/^index/d" -e "s/$z2047/Z/g" >actual &&
for n in $sample
do
git diff -U0 file-?$n
done | zc >actual &&
diff -u expect actual
'

74
t/t4202-log.sh Executable file
View File

@@ -0,0 +1,74 @@
#!/bin/sh
test_description='git log'
. ./test-lib.sh
test_expect_success setup '
echo one >one &&
git add one &&
test_tick &&
git commit -m initial &&
echo ichi >one &&
git add one &&
test_tick &&
git commit -m second &&
mkdir a &&
echo ni >a/two &&
git add a/two &&
test_tick &&
git commit -m third &&
echo san >a/three &&
git add a/three &&
test_tick &&
git commit -m fourth &&
git rm a/three &&
test_tick &&
git commit -m fifth
'
test_expect_success 'diff-filter=A' '
actual=$(git log --pretty="format:%s" --diff-filter=A HEAD) &&
expect=$(echo fourth ; echo third ; echo initial) &&
test "$actual" = "$expect" || {
echo Oops
echo "Actual: $actual"
false
}
'
test_expect_success 'diff-filter=M' '
actual=$(git log --pretty="format:%s" --diff-filter=M HEAD) &&
expect=$(echo second) &&
test "$actual" = "$expect" || {
echo Oops
echo "Actual: $actual"
false
}
'
test_expect_success 'diff-filter=D' '
actual=$(git log --pretty="format:%s" --diff-filter=D HEAD) &&
expect=$(echo fifth) &&
test "$actual" = "$expect" || {
echo Oops
echo "Actual: $actual"
false
}
'
test_done

View File

@@ -492,25 +492,21 @@ test_expect_success \
echo "tag-one-line" >expect &&
git-tag -l | grep "^tag-one-line" >actual &&
git diff expect actual &&
git-tag -n 0 -l | grep "^tag-one-line" >actual &&
git-tag -n0 -l | grep "^tag-one-line" >actual &&
git diff expect actual &&
git-tag -n 0 -l tag-one-line >actual &&
git-tag -n0 -l tag-one-line >actual &&
git diff expect actual &&
echo "tag-one-line A msg" >expect &&
git-tag -n xxx -l | grep "^tag-one-line" >actual &&
git diff expect actual &&
git-tag -n "" -l | grep "^tag-one-line" >actual &&
git diff expect actual &&
git-tag -n 1 -l | grep "^tag-one-line" >actual &&
git-tag -n1 -l | grep "^tag-one-line" >actual &&
git diff expect actual &&
git-tag -n -l | grep "^tag-one-line" >actual &&
git diff expect actual &&
git-tag -n 1 -l tag-one-line >actual &&
git-tag -n1 -l tag-one-line >actual &&
git diff expect actual &&
git-tag -n 2 -l tag-one-line >actual &&
git-tag -n2 -l tag-one-line >actual &&
git diff expect actual &&
git-tag -n 999 -l tag-one-line >actual &&
git-tag -n999 -l tag-one-line >actual &&
git diff expect actual
'
@@ -521,21 +517,21 @@ test_expect_success \
echo "tag-zero-lines" >expect &&
git-tag -l | grep "^tag-zero-lines" >actual &&
git diff expect actual &&
git-tag -n 0 -l | grep "^tag-zero-lines" >actual &&
git-tag -n0 -l | grep "^tag-zero-lines" >actual &&
git diff expect actual &&
git-tag -n 0 -l tag-zero-lines >actual &&
git-tag -n0 -l tag-zero-lines >actual &&
git diff expect actual &&
echo "tag-zero-lines " >expect &&
git-tag -n 1 -l | grep "^tag-zero-lines" >actual &&
git-tag -n1 -l | grep "^tag-zero-lines" >actual &&
git diff expect actual &&
git-tag -n -l | grep "^tag-zero-lines" >actual &&
git diff expect actual &&
git-tag -n 1 -l tag-zero-lines >actual &&
git-tag -n1 -l tag-zero-lines >actual &&
git diff expect actual &&
git-tag -n 2 -l tag-zero-lines >actual &&
git-tag -n2 -l tag-zero-lines >actual &&
git diff expect actual &&
git-tag -n 999 -l tag-zero-lines >actual &&
git-tag -n999 -l tag-zero-lines >actual &&
git diff expect actual
'
@@ -549,37 +545,37 @@ test_expect_success \
echo "tag-lines" >expect &&
git-tag -l | grep "^tag-lines" >actual &&
git diff expect actual &&
git-tag -n 0 -l | grep "^tag-lines" >actual &&
git-tag -n0 -l | grep "^tag-lines" >actual &&
git diff expect actual &&
git-tag -n 0 -l tag-lines >actual &&
git-tag -n0 -l tag-lines >actual &&
git diff expect actual &&
echo "tag-lines tag line one" >expect &&
git-tag -n 1 -l | grep "^tag-lines" >actual &&
git-tag -n1 -l | grep "^tag-lines" >actual &&
git diff expect actual &&
git-tag -n -l | grep "^tag-lines" >actual &&
git diff expect actual &&
git-tag -n 1 -l tag-lines >actual &&
git-tag -n1 -l tag-lines >actual &&
git diff expect actual &&
echo " tag line two" >>expect &&
git-tag -n 2 -l | grep "^ *tag.line" >actual &&
git-tag -n2 -l | grep "^ *tag.line" >actual &&
git diff expect actual &&
git-tag -n 2 -l tag-lines >actual &&
git-tag -n2 -l tag-lines >actual &&
git diff expect actual &&
echo " tag line three" >>expect &&
git-tag -n 3 -l | grep "^ *tag.line" >actual &&
git-tag -n3 -l | grep "^ *tag.line" >actual &&
git diff expect actual &&
git-tag -n 3 -l tag-lines >actual &&
git-tag -n3 -l tag-lines >actual &&
git diff expect actual &&
git-tag -n 4 -l | grep "^ *tag.line" >actual &&
git-tag -n4 -l | grep "^ *tag.line" >actual &&
git diff expect actual &&
git-tag -n 4 -l tag-lines >actual &&
git-tag -n4 -l tag-lines >actual &&
git diff expect actual &&
git-tag -n 99 -l | grep "^ *tag.line" >actual &&
git-tag -n99 -l | grep "^ *tag.line" >actual &&
git diff expect actual &&
git-tag -n 99 -l tag-lines >actual &&
git-tag -n99 -l tag-lines >actual &&
git diff expect actual
'
@@ -907,25 +903,21 @@ test_expect_success \
echo "stag-one-line" >expect &&
git-tag -l | grep "^stag-one-line" >actual &&
git diff expect actual &&
git-tag -n 0 -l | grep "^stag-one-line" >actual &&
git-tag -n0 -l | grep "^stag-one-line" >actual &&
git diff expect actual &&
git-tag -n 0 -l stag-one-line >actual &&
git-tag -n0 -l stag-one-line >actual &&
git diff expect actual &&
echo "stag-one-line A message line signed" >expect &&
git-tag -n xxx -l | grep "^stag-one-line" >actual &&
git diff expect actual &&
git-tag -n "" -l | grep "^stag-one-line" >actual &&
git diff expect actual &&
git-tag -n 1 -l | grep "^stag-one-line" >actual &&
git-tag -n1 -l | grep "^stag-one-line" >actual &&
git diff expect actual &&
git-tag -n -l | grep "^stag-one-line" >actual &&
git diff expect actual &&
git-tag -n 1 -l stag-one-line >actual &&
git-tag -n1 -l stag-one-line >actual &&
git diff expect actual &&
git-tag -n 2 -l stag-one-line >actual &&
git-tag -n2 -l stag-one-line >actual &&
git diff expect actual &&
git-tag -n 999 -l stag-one-line >actual &&
git-tag -n999 -l stag-one-line >actual &&
git diff expect actual
'
@@ -936,21 +928,21 @@ test_expect_success \
echo "stag-zero-lines" >expect &&
git-tag -l | grep "^stag-zero-lines" >actual &&
git diff expect actual &&
git-tag -n 0 -l | grep "^stag-zero-lines" >actual &&
git-tag -n0 -l | grep "^stag-zero-lines" >actual &&
git diff expect actual &&
git-tag -n 0 -l stag-zero-lines >actual &&
git-tag -n0 -l stag-zero-lines >actual &&
git diff expect actual &&
echo "stag-zero-lines " >expect &&
git-tag -n 1 -l | grep "^stag-zero-lines" >actual &&
git-tag -n1 -l | grep "^stag-zero-lines" >actual &&
git diff expect actual &&
git-tag -n -l | grep "^stag-zero-lines" >actual &&
git diff expect actual &&
git-tag -n 1 -l stag-zero-lines >actual &&
git-tag -n1 -l stag-zero-lines >actual &&
git diff expect actual &&
git-tag -n 2 -l stag-zero-lines >actual &&
git-tag -n2 -l stag-zero-lines >actual &&
git diff expect actual &&
git-tag -n 999 -l stag-zero-lines >actual &&
git-tag -n999 -l stag-zero-lines >actual &&
git diff expect actual
'
@@ -964,37 +956,37 @@ test_expect_success \
echo "stag-lines" >expect &&
git-tag -l | grep "^stag-lines" >actual &&
git diff expect actual &&
git-tag -n 0 -l | grep "^stag-lines" >actual &&
git-tag -n0 -l | grep "^stag-lines" >actual &&
git diff expect actual &&
git-tag -n 0 -l stag-lines >actual &&
git-tag -n0 -l stag-lines >actual &&
git diff expect actual &&
echo "stag-lines stag line one" >expect &&
git-tag -n 1 -l | grep "^stag-lines" >actual &&
git-tag -n1 -l | grep "^stag-lines" >actual &&
git diff expect actual &&
git-tag -n -l | grep "^stag-lines" >actual &&
git diff expect actual &&
git-tag -n 1 -l stag-lines >actual &&
git-tag -n1 -l stag-lines >actual &&
git diff expect actual &&
echo " stag line two" >>expect &&
git-tag -n 2 -l | grep "^ *stag.line" >actual &&
git-tag -n2 -l | grep "^ *stag.line" >actual &&
git diff expect actual &&
git-tag -n 2 -l stag-lines >actual &&
git-tag -n2 -l stag-lines >actual &&
git diff expect actual &&
echo " stag line three" >>expect &&
git-tag -n 3 -l | grep "^ *stag.line" >actual &&
git-tag -n3 -l | grep "^ *stag.line" >actual &&
git diff expect actual &&
git-tag -n 3 -l stag-lines >actual &&
git-tag -n3 -l stag-lines >actual &&
git diff expect actual &&
git-tag -n 4 -l | grep "^ *stag.line" >actual &&
git-tag -n4 -l | grep "^ *stag.line" >actual &&
git diff expect actual &&
git-tag -n 4 -l stag-lines >actual &&
git-tag -n4 -l stag-lines >actual &&
git diff expect actual &&
git-tag -n 99 -l | grep "^ *stag.line" >actual &&
git-tag -n99 -l | grep "^ *stag.line" >actual &&
git diff expect actual &&
git-tag -n 99 -l stag-lines >actual &&
git-tag -n99 -l stag-lines >actual &&
git diff expect actual
'

View File

@@ -38,7 +38,7 @@ test_expect_success 'dumb should error out when falling back on vi' '
if git commit --amend
then
echo "Oops?"
exit 1
false
else
: happy
fi

View File

@@ -89,4 +89,69 @@ test_expect_success 'verbose' '
'
test_expect_success 'cleanup commit messages (verbatim,-t)' '
echo >>negative &&
{ echo;echo "# text";echo; } >expect &&
git commit --cleanup=verbatim -t expect -a &&
git cat-file -p HEAD |sed -e "1,/^\$/d" |head -n 3 >actual &&
diff -u expect actual
'
test_expect_success 'cleanup commit messages (verbatim,-F)' '
echo >>negative &&
git commit --cleanup=verbatim -F expect -a &&
git cat-file -p HEAD |sed -e "1,/^\$/d">actual &&
diff -u expect actual
'
test_expect_success 'cleanup commit messages (verbatim,-m)' '
echo >>negative &&
git commit --cleanup=verbatim -m "$(cat expect)" -a &&
git cat-file -p HEAD |sed -e "1,/^\$/d">actual &&
diff -u expect actual
'
test_expect_success 'cleanup commit messages (whitespace,-F)' '
echo >>negative &&
{ echo;echo "# text";echo; } >text &&
echo "# text" >expect &&
git commit --cleanup=whitespace -F text -a &&
git cat-file -p HEAD |sed -e "1,/^\$/d">actual &&
diff -u expect actual
'
test_expect_success 'cleanup commit messages (strip,-F)' '
echo >>negative &&
{ echo;echo "# text";echo sample;echo; } >text &&
echo sample >expect &&
git commit --cleanup=strip -F text -a &&
git cat-file -p HEAD |sed -e "1,/^\$/d">actual &&
diff -u expect actual
'
echo "sample
# Please enter the commit message for your changes.
# (Comment lines starting with '#' will not be included)" >expect
test_expect_success 'cleanup commit messages (strip,-F,-e)' '
echo >>negative &&
{ echo;echo sample;echo; } >text &&
git commit -e -F text -a &&
head -n 4 .git/COMMIT_EDITMSG >actual &&
diff -u expect actual
'
test_done