@matheusbsbs / matheus-bagliano / commits / 242522d9cc
Fork 0

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]

Vitaly \"_Vi\" Shukela committed Jan 26, 2009 at 00:21 UTC 242522d9cc9b04c4db3baf7e97135d21401c1827
1 file changed +98
t/t9134-git-svn-ignore-paths.sh new
+98
@@ -0,0 +1,98 @@
1 +#!/bin/sh
2 +#
3 +# Copyright (c) 2009 Vitaly Shukela
4 +# Copyright (c) 2009 Eric Wong
5 +#
6 +
7 +test_description='git svn property tests'
8 +. ./lib-git-svn.sh
9 +
10 +test_expect_success 'setup test repository' '
11 + svn co "$svnrepo" s &&
12 + (
13 + cd s &&
14 + mkdir qqq www &&
15 + echo test_qqq > qqq/test_qqq.txt &&
16 + echo test_www > www/test_www.txt &&
17 + svn add qqq &&
18 + svn add www &&
19 + svn commit -m "create some files" &&
20 + svn up &&
21 + echo hi >> www/test_www.txt &&
22 + svn commit -m "modify www/test_www.txt" &&
23 + svn up
24 + )
25 +'
26 +
27 +test_expect_success 'clone an SVN repository with ignored www directory' '
28 + git svn clone --ignore-paths="^www" "$svnrepo" g &&
29 + echo test_qqq > expect &&
30 + for i in g/*/*.txt; do cat $i >> expect2; done &&
31 + test_cmp expect expect2
32 +'
33 +
34 +test_expect_success 'SVN-side change outside of www' '
35 + (
36 + cd s &&
37 + echo b >> qqq/test_qqq.txt &&
38 + svn commit -m "SVN-side change outside of www" &&
39 + svn up &&
40 + svn log -v | fgrep "SVN-side change outside of www"
41 + )
42 +'
43 +
44 +test_expect_success 'update git svn-cloned repo' '
45 + (
46 + cd g &&
47 + git svn rebase --ignore-paths="^www" &&
48 + printf "test_qqq\nb\n" > expect &&
49 + for i in */*.txt; do cat $i >> expect2; done &&
50 + test_cmp expect2 expect &&
51 + rm expect expect2
52 + )
53 +'
54 +
55 +test_expect_success 'SVN-side change inside of ignored www' '
56 + (
57 + cd s &&
58 + echo zaq >> www/test_www.txt
59 + svn commit -m "SVN-side change inside of www/test_www.txt" &&
60 + svn up &&
61 + svn log -v | fgrep "SVN-side change inside of www/test_www.txt"
62 + )
63 +'
64 +
65 +test_expect_success 'update git svn-cloned repo' '
66 + (
67 + cd g &&
68 + git svn rebase --ignore-paths="^www" &&
69 + printf "test_qqq\nb\n" > expect &&
70 + for i in */*.txt; do cat $i >> expect2; done &&
71 + test_cmp expect2 expect &&
72 + rm expect expect2
73 + )
74 +'
75 +
76 +test_expect_success 'SVN-side change in and out of ignored www' '
77 + (
78 + cd s &&
79 + echo cvf >> www/test_www.txt
80 + echo ygg >> qqq/test_qqq.txt
81 + svn commit -m "SVN-side change in and out of ignored www" &&
82 + svn up &&
83 + svn log -v | fgrep "SVN-side change in and out of ignored www"
84 + )
85 +'
86 +
87 +test_expect_success 'update git svn-cloned repo again' '
88 + (
89 + cd g &&
90 + git svn rebase --ignore-paths="^www" &&
91 + printf "test_qqq\nb\nygg\n" > expect &&
92 + for i in */*.txt; do cat $i >> expect2; done &&
93 + test_cmp expect2 expect &&
94 + rm expect expect2
95 + )
96 +'
97 +
98 +test_done