~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_clean_tree.py

Merge up through 2.2.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2009 Canonical Ltd
 
1
# Copyright (C) 2005-2010 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
21
21
 
22
22
import os
23
23
 
 
24
from bzrlib import ignores
24
25
from bzrlib.tests import TestCaseWithTransport
25
26
 
26
27
 
62
63
        self.failIfExists('name')
63
64
        self.failIfExists('name~')
64
65
        self.failIfExists('name.pyc')
 
66
 
 
67
    def test_clean_tree_nested_bzrdir(self):
 
68
        # clean-tree should not blindly delete nested bzrdirs (branches)
 
69
        # bug https://bugs.launchpad.net/bzr/+bug/572098
 
70
        # so it will play well with scmproj/bzr-externals plugins.
 
71
        wt1 = self.make_branch_and_tree('.')
 
72
        wt2 = self.make_branch_and_tree('foo')
 
73
        wt3 = self.make_branch_and_tree('bar')
 
74
        ignores.tree_ignores_add_patterns(wt1, ['./foo'])
 
75
        self.run_bzr(['clean-tree', '--unknown', '--force'])
 
76
        self.failUnlessExists('foo')
 
77
        self.failUnlessExists('bar')
 
78
        self.run_bzr(['clean-tree', '--ignored', '--force'])
 
79
        self.failUnlessExists('foo')
 
80
        self.failUnlessExists('bar')
 
81
 
 
82
    def test_clean_tree_directory(self):
 
83
        """Test --directory option"""
 
84
        tree = self.make_branch_and_tree('a')
 
85
        self.build_tree(['a/added', 'a/unknown', 'a/ignored'])
 
86
        tree.add('added')
 
87
        self.run_bzr('clean-tree -d a --unknown --ignored --force')
 
88
        self.failIfExists('a/unknown')
 
89
        self.failIfExists('a/ignored')
 
90
        self.failUnlessExists('a/added')