-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
git-svn: Add test for --ignore-paths parameter
Added a test for this option, similar to (and based on) t9133 about ignorance of .git directories Signed-off-by: Vitaly "_Vi" Shukela <public_vi@tut.by> Acked-by: Eric Wong <normalperson@yhbt.net> [ew: replaced 'echo -e' with printf so it works on POSIX shells] [ew: added Vitaly to copyright even though it's based on my test]
- Loading branch information
Vitaly \"_Vi\" Shukela
authored and
Eric Wong
committed
Jan 26, 2009
1 parent
6076b84
commit 242522d
Showing
1 changed file
with
98 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
#!/bin/sh | ||
# | ||
# Copyright (c) 2009 Vitaly Shukela | ||
# Copyright (c) 2009 Eric Wong | ||
# | ||
|
||
test_description='git svn property tests' | ||
. ./lib-git-svn.sh | ||
|
||
test_expect_success 'setup test repository' ' | ||
svn co "$svnrepo" s && | ||
( | ||
cd s && | ||
mkdir qqq www && | ||
echo test_qqq > qqq/test_qqq.txt && | ||
echo test_www > www/test_www.txt && | ||
svn add qqq && | ||
svn add www && | ||
svn commit -m "create some files" && | ||
svn up && | ||
echo hi >> www/test_www.txt && | ||
svn commit -m "modify www/test_www.txt" && | ||
svn up | ||
) | ||
' | ||
|
||
test_expect_success 'clone an SVN repository with ignored www directory' ' | ||
git svn clone --ignore-paths="^www" "$svnrepo" g && | ||
echo test_qqq > expect && | ||
for i in g/*/*.txt; do cat $i >> expect2; done && | ||
test_cmp expect expect2 | ||
' | ||
|
||
test_expect_success 'SVN-side change outside of www' ' | ||
( | ||
cd s && | ||
echo b >> qqq/test_qqq.txt && | ||
svn commit -m "SVN-side change outside of www" && | ||
svn up && | ||
svn log -v | fgrep "SVN-side change outside of www" | ||
) | ||
' | ||
|
||
test_expect_success 'update git svn-cloned repo' ' | ||
( | ||
cd g && | ||
git svn rebase --ignore-paths="^www" && | ||
printf "test_qqq\nb\n" > expect && | ||
for i in */*.txt; do cat $i >> expect2; done && | ||
test_cmp expect2 expect && | ||
rm expect expect2 | ||
) | ||
' | ||
|
||
test_expect_success 'SVN-side change inside of ignored www' ' | ||
( | ||
cd s && | ||
echo zaq >> www/test_www.txt | ||
svn commit -m "SVN-side change inside of www/test_www.txt" && | ||
svn up && | ||
svn log -v | fgrep "SVN-side change inside of www/test_www.txt" | ||
) | ||
' | ||
|
||
test_expect_success 'update git svn-cloned repo' ' | ||
( | ||
cd g && | ||
git svn rebase --ignore-paths="^www" && | ||
printf "test_qqq\nb\n" > expect && | ||
for i in */*.txt; do cat $i >> expect2; done && | ||
test_cmp expect2 expect && | ||
rm expect expect2 | ||
) | ||
' | ||
|
||
test_expect_success 'SVN-side change in and out of ignored www' ' | ||
( | ||
cd s && | ||
echo cvf >> www/test_www.txt | ||
echo ygg >> qqq/test_qqq.txt | ||
svn commit -m "SVN-side change in and out of ignored www" && | ||
svn up && | ||
svn log -v | fgrep "SVN-side change in and out of ignored www" | ||
) | ||
' | ||
|
||
test_expect_success 'update git svn-cloned repo again' ' | ||
( | ||
cd g && | ||
git svn rebase --ignore-paths="^www" && | ||
printf "test_qqq\nb\nygg\n" > expect && | ||
for i in */*.txt; do cat $i >> expect2; done && | ||
test_cmp expect2 expect && | ||
rm expect expect2 | ||
) | ||
' | ||
|
||
test_done |