aboutsummaryrefslogtreecommitdiff
path: root/t/t1004-read-tree-m-u-wf.sh
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-12-27 02:43:46 -0800
committerJunio C Hamano <junkio@cox.net>2006-12-27 02:43:46 -0800
commit37818d7db070f67a20df58ac7d5e04cc63ef1867 (patch)
tree1b1b2b71afab1c4ad29666f56fa8d2560b7855c6 /t/t1004-read-tree-m-u-wf.sh
parent4bcb310c2539b66d535e87508d1b7a90fe29c083 (diff)
parentae72f685418b79bbd67e1017c5b1ac7d731c042e (diff)
downloadgit-37818d7db070f67a20df58ac7d5e04cc63ef1867.tar.gz
git-37818d7db070f67a20df58ac7d5e04cc63ef1867.tar.xz
Merge branch 'master' into js/shallow
This is to adjust to: count-objects -v: show number of packs as well. which will break a test in this series. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 't/t1004-read-tree-m-u-wf.sh')
-rwxr-xr-xt/t1004-read-tree-m-u-wf.sh82
1 files changed, 74 insertions, 8 deletions
diff --git a/t/t1004-read-tree-m-u-wf.sh b/t/t1004-read-tree-m-u-wf.sh
index 018fbea45..4f664f6ad 100755
--- a/t/t1004-read-tree-m-u-wf.sh
+++ b/t/t1004-read-tree-m-u-wf.sh
@@ -8,23 +8,27 @@ test_description='read-tree -m -u checks working tree files'
test_expect_success 'two-way setup' '
+ mkdir subdir &&
echo >file1 file one &&
echo >file2 file two &&
- git update-index --add file1 file2 &&
+ echo >subdir/file1 file one in subdirectory &&
+ echo >subdir/file2 file two in subdirectory &&
+ git update-index --add file1 file2 subdir/file1 subdir/file2 &&
git commit -m initial &&
git branch side &&
git tag -f branch-point &&
echo file2 is not tracked on the master anymore &&
- rm -f file2 &&
- git update-index --remove file2 &&
- git commit -a -m "master removes file2"
+ rm -f file2 subdir/file2 &&
+ git update-index --remove file2 subdir/file2 &&
+ git commit -a -m "master removes file2 and subdir/file2"
'
test_expect_success 'two-way not clobbering' '
echo >file2 master creates untracked file2 &&
+ echo >subdir/file2 master creates untracked subdir/file2 &&
if err=`git read-tree -m -u master side 2>&1`
then
echo should have complained
@@ -34,20 +38,82 @@ test_expect_success 'two-way not clobbering' '
fi
'
+echo file2 >.gitignore
+
+test_expect_success 'two-way with incorrect --exclude-per-directory (1)' '
+
+ if err=`git read-tree -m --exclude-per-directory=.gitignore master side 2>&1`
+ then
+ echo should have complained
+ false
+ else
+ echo "happy to see $err"
+ fi
+'
+
+test_expect_success 'two-way with incorrect --exclude-per-directory (2)' '
+
+ if err=`git read-tree -m -u --exclude-per-directory=foo --exclude-per-directory=.gitignore master side 2>&1`
+ then
+ echo should have complained
+ false
+ else
+ echo "happy to see $err"
+ fi
+'
+
+test_expect_success 'two-way clobbering a ignored file' '
+
+ git read-tree -m -u --exclude-per-directory=.gitignore master side
+'
+
+rm -f .gitignore
+
# three-tree test
-test_expect_success 'three-way not complaining' '
+test_expect_success 'three-way not complaining on an untracked path in both' '
- rm -f file2 &&
+ rm -f file2 subdir/file2 &&
git checkout side &&
echo >file3 file three &&
- git update-index --add file3 &&
- git commit -a -m "side adds file3" &&
+ echo >subdir/file3 file three &&
+ git update-index --add file3 subdir/file3 &&
+ git commit -a -m "side adds file3 and removes file2" &&
git checkout master &&
echo >file2 file two is untracked on the master side &&
+ echo >subdir/file2 file two is untracked on the master side &&
git-read-tree -m -u branch-point master side
'
+test_expect_success 'three-way not cloberring a working tree file' '
+
+ git reset --hard &&
+ rm -f file2 subdir/file2 file3 subdir/file3 &&
+ git checkout master &&
+ echo >file3 file three created in master, untracked &&
+ echo >subdir/file3 file three created in master, untracked &&
+ if err=`git read-tree -m -u branch-point master side 2>&1`
+ then
+ echo should have complained
+ false
+ else
+ echo "happy to see $err"
+ fi
+'
+
+echo >.gitignore file3
+
+test_expect_success 'three-way not complaining on an untracked file' '
+
+ git reset --hard &&
+ rm -f file2 subdir/file2 file3 subdir/file3 &&
+ git checkout master &&
+ echo >file3 file three created in master, untracked &&
+ echo >subdir/file3 file three created in master, untracked &&
+
+ git read-tree -m -u --exclude-per-directory=.gitignore branch-point master side
+'
+
test_done