56
56
Also check that trailing slashes on directories are stripped.
59
59
self.build_tree(['dir1/', 'dir1/foo',
60
60
'dir2/', 'dir2/bar',
61
61
'dir3/', 'dir3/baz'])
62
self.runbzr('ignore dir1 dir2/ dir4\\')
62
self.run_bzr(['ignore', 'dir1', 'dir2/', 'dir4\\'])
63
63
self.check_file_contents('.bzrignore', 'dir1\ndir2\ndir4\n')
64
self.assertEquals(self.capture('unknowns'), 'dir3\n')
64
self.assertEquals(self.run_bzr('unknowns')[0], 'dir3\n')
66
66
def test_ignore_patterns(self):
68
self.assertEquals(self.capture('unknowns'), '')
68
self.assertEquals(self.run_bzr(['unknowns'])[0], '')
70
70
# is_ignored() will now create the user global ignore file
71
71
# if it doesn't exist, so make sure we ignore it in our tests
74
74
self.build_tree_contents(
75
75
[('foo.tmp', '.tmp files are ignored by default'),
77
self.assertEquals(self.capture('unknowns'), '')
77
self.assertEquals(self.run_bzr(['unknowns'])[0], '')
79
79
file('foo.c', 'wt').write('int main() {}')
80
self.assertEquals(self.capture('unknowns'), 'foo.c\n')
80
self.assertEquals(self.run_bzr(['unknowns'])[0], 'foo.c\n')
82
self.runbzr(['add', 'foo.c'])
83
self.assertEquals(self.capture('unknowns'), '')
82
self.run_bzr('add foo.c')
83
self.assertEquals(self.run_bzr(['unknowns'])[0], '')
85
85
# 'ignore' works when creating the .bzrignore file
86
86
file('foo.blah', 'wt').write('blah')
87
self.assertEquals(self.capture('unknowns'), 'foo.blah\n')
88
self.runbzr('ignore *.blah')
89
self.assertEquals(self.capture('unknowns'), '')
87
self.assertEquals(self.run_bzr(['unknowns'])[0], 'foo.blah\n')
88
self.run_bzr('ignore *.blah')
89
self.assertEquals(self.run_bzr(['unknowns'])[0], '')
90
90
self.check_file_contents('.bzrignore', '*.blah\n')
92
92
# 'ignore' works when then .bzrignore file already exists
93
93
file('garh', 'wt').write('garh')
94
self.assertEquals(self.capture('unknowns'), 'garh\n')
95
self.runbzr('ignore garh')
96
self.assertEquals(self.capture('unknowns'), '')
94
self.assertEquals(self.run_bzr(['unknowns'])[0], 'garh\n')
95
self.run_bzr('ignore garh')
96
self.assertEquals(self.run_bzr(['unknowns'])[0], '')
97
97
self.check_file_contents('.bzrignore', '*.blah\ngarh\n')
99
99
def test_ignore_multiple_arguments(self):
100
100
"""'ignore' works with multiple arguments"""
102
102
self.build_tree(['a','b','c','d'])
103
self.assertEquals(self.capture('unknowns'), 'a\nb\nc\nd\n')
104
self.runbzr('ignore a b c')
105
self.assertEquals(self.capture('unknowns'), 'd\n')
103
self.assertEquals(self.run_bzr(['unknowns'])[0], 'a\nb\nc\nd\n')
104
self.run_bzr('ignore a b c')
105
self.assertEquals(self.run_bzr(['unknowns'])[0], 'd\n')
106
106
self.check_file_contents('.bzrignore', 'a\nb\nc\n')
108
108
def test_ignore_no_arguments(self):
109
109
"""'ignore' with no arguments returns an error"""
111
111
self.run_bzr_error(('bzr: ERROR: ignore requires at least one '
112
112
'NAME_PATTERN or --old-default-rules\n',),