bzr branch
http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
| 
2052.3.2
by John Arbash Meinel
 Change Copyright .. by Canonical to Copyright ... Canonical  | 
1  | 
# Copyright (C) 2006 Canonical Ltd
 | 
| 
1887.1.1
by Adeodato Simó
 Do not separate paragraphs in the copyright statement with blank lines,  | 
2  | 
#
 | 
| 
1551.2.17
by Aaron Bentley
 Fixed conflict commands  | 
3  | 
# This program is free software; you can redistribute it and/or modify
 | 
4  | 
# it under the terms of the GNU General Public License as published by
 | 
|
5  | 
# the Free Software Foundation; either version 2 of the License, or
 | 
|
6  | 
# (at your option) any later version.
 | 
|
| 
1887.1.1
by Adeodato Simó
 Do not separate paragraphs in the copyright statement with blank lines,  | 
7  | 
#
 | 
| 
1551.2.17
by Aaron Bentley
 Fixed conflict commands  | 
8  | 
# This program is distributed in the hope that it will be useful,
 | 
9  | 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
|
10  | 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
|
11  | 
# GNU General Public License for more details.
 | 
|
| 
1887.1.1
by Adeodato Simó
 Do not separate paragraphs in the copyright statement with blank lines,  | 
12  | 
#
 | 
| 
1551.2.17
by Aaron Bentley
 Fixed conflict commands  | 
13  | 
# You should have received a copy of the GNU General Public License
 | 
14  | 
# along with this program; if not, write to the Free Software
 | 
|
| 
4183.7.1
by Sabin Iacob
 update FSF mailing address  | 
15  | 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 | 
| 
1551.2.17
by Aaron Bentley
 Fixed conflict commands  | 
16  | 
|
17  | 
import os  | 
|
18  | 
||
| 
2120.7.3
by Aaron Bentley
 Update resolve command to automatically mark conflicts as resolved  | 
19  | 
from bzrlib import (  | 
20  | 
    conflicts
 | 
|
21  | 
    )
 | 
|
| 
1652.1.1
by Martin Pool
 Fix 'bzr resolve' run from subdirectory  | 
22  | 
from bzrlib.workingtree import WorkingTree  | 
| 
1551.2.17
by Aaron Bentley
 Fixed conflict commands  | 
23  | 
from bzrlib.tests.blackbox import ExternalBase  | 
24  | 
||
| 
1692.7.2
by Martin Pool
 doc  | 
25  | 
# FIXME: These don't really look at the output of the conflict commands, just
 | 
26  | 
# the number of lines - there should be more examination.
 | 
|
27  | 
||
| 
1551.2.17
by Aaron Bentley
 Fixed conflict commands  | 
28  | 
class TestConflicts(ExternalBase):  | 
| 
2530.3.1
by Martin Pool
 Cleanup old variations on run_bzr in the test suite  | 
29  | 
|
| 
1551.2.17
by Aaron Bentley
 Fixed conflict commands  | 
30  | 
def setUp(self):  | 
31  | 
super(ExternalBase, self).setUp()  | 
|
| 
2664.13.3
by Daniel Watkins
 tests.blackbox.test_conflicts now uses internals where appropriate.  | 
32  | 
a_tree = self.make_branch_and_tree('a')  | 
33  | 
self.build_tree_contents([  | 
|
| 
2738.4.5
by Daniel Watkins
 Fixed whitespace issues.  | 
34  | 
('a/myfile', 'contentsa\n'),  | 
| 
2664.13.3
by Daniel Watkins
 tests.blackbox.test_conflicts now uses internals where appropriate.  | 
35  | 
('a/my_other_file', 'contentsa\n'),  | 
| 
2738.4.5
by Daniel Watkins
 Fixed whitespace issues.  | 
36  | 
('a/mydir/',),  | 
| 
2664.13.3
by Daniel Watkins
 tests.blackbox.test_conflicts now uses internals where appropriate.  | 
37  | 
            ])
 | 
38  | 
a_tree.add('myfile')  | 
|
39  | 
a_tree.add('my_other_file')  | 
|
40  | 
a_tree.add('mydir')  | 
|
41  | 
a_tree.commit(message="new")  | 
|
42  | 
b_tree = a_tree.bzrdir.sprout('b').open_workingtree()  | 
|
43  | 
self.build_tree_contents([  | 
|
| 
2738.4.5
by Daniel Watkins
 Fixed whitespace issues.  | 
44  | 
('b/myfile', 'contentsb\n'),  | 
| 
2664.13.3
by Daniel Watkins
 tests.blackbox.test_conflicts now uses internals where appropriate.  | 
45  | 
('b/my_other_file', 'contentsb\n'),  | 
46  | 
            ])
 | 
|
47  | 
b_tree.rename_one('mydir', 'mydir2')  | 
|
48  | 
b_tree.commit(message="change")  | 
|
49  | 
self.build_tree_contents([  | 
|
| 
2738.4.5
by Daniel Watkins
 Fixed whitespace issues.  | 
50  | 
('a/myfile', 'contentsa2\n'),  | 
| 
2664.13.3
by Daniel Watkins
 tests.blackbox.test_conflicts now uses internals where appropriate.  | 
51  | 
('a/my_other_file', 'contentsa2\n'),  | 
52  | 
            ])
 | 
|
53  | 
a_tree.rename_one('mydir', 'mydir3')  | 
|
54  | 
a_tree.commit(message='change')  | 
|
55  | 
a_tree.merge_from_branch(b_tree.branch)  | 
|
| 
1551.2.17
by Aaron Bentley
 Fixed conflict commands  | 
56  | 
os.chdir('a')  | 
57  | 
||
58  | 
def test_conflicts(self):  | 
|
| 
2552.2.2
by Vincent Ladeuil
 Enforce run_bzr(string) where possible.  | 
59  | 
conflicts, errs = self.run_bzr('conflicts')  | 
| 
1551.9.8
by Aaron Bentley
 Add --text parameter to conflicts  | 
60  | 
self.assertEqual(3, len(conflicts.splitlines()))  | 
61  | 
||
62  | 
def test_conflicts_text(self):  | 
|
| 
2552.2.3
by Vincent Ladeuil
 Deprecate the varargs syntax and fix the tests.  | 
63  | 
conflicts = self.run_bzr('conflicts --text')[0].splitlines()  | 
| 
1551.9.8
by Aaron Bentley
 Add --text parameter to conflicts  | 
64  | 
self.assertEqual(['my_other_file', 'myfile'], conflicts)  | 
| 
1551.2.17
by Aaron Bentley
 Fixed conflict commands  | 
65  | 
|
66  | 
def test_resolve(self):  | 
|
| 
2530.3.1
by Martin Pool
 Cleanup old variations on run_bzr in the test suite  | 
67  | 
self.run_bzr('resolve myfile')  | 
| 
2552.2.2
by Vincent Ladeuil
 Enforce run_bzr(string) where possible.  | 
68  | 
conflicts, errs = self.run_bzr('conflicts')  | 
| 
1551.9.8
by Aaron Bentley
 Add --text parameter to conflicts  | 
69  | 
self.assertEqual(2, len(conflicts.splitlines()))  | 
| 
2530.3.1
by Martin Pool
 Cleanup old variations on run_bzr in the test suite  | 
70  | 
self.run_bzr('resolve my_other_file')  | 
71  | 
self.run_bzr('resolve mydir2')  | 
|
| 
2552.2.2
by Vincent Ladeuil
 Enforce run_bzr(string) where possible.  | 
72  | 
conflicts, errs = self.run_bzr('conflicts')  | 
| 
1551.2.17
by Aaron Bentley
 Fixed conflict commands  | 
73  | 
self.assertEqual(len(conflicts.splitlines()), 0)  | 
74  | 
||
75  | 
def test_resolve_all(self):  | 
|
| 
2530.3.1
by Martin Pool
 Cleanup old variations on run_bzr in the test suite  | 
76  | 
self.run_bzr('resolve --all')  | 
| 
2552.2.2
by Vincent Ladeuil
 Enforce run_bzr(string) where possible.  | 
77  | 
conflicts, errs = self.run_bzr('conflicts')  | 
| 
1551.2.17
by Aaron Bentley
 Fixed conflict commands  | 
78  | 
self.assertEqual(len(conflicts.splitlines()), 0)  | 
79  | 
||
| 
1652.1.1
by Martin Pool
 Fix 'bzr resolve' run from subdirectory  | 
80  | 
def test_resolve_in_subdir(self):  | 
81  | 
"""resolve when run from subdirectory should handle relative paths"""  | 
|
82  | 
orig_dir = os.getcwdu()  | 
|
83  | 
try:  | 
|
84  | 
os.mkdir("subdir")  | 
|
85  | 
os.chdir("subdir")  | 
|
| 
2530.3.1
by Martin Pool
 Cleanup old variations on run_bzr in the test suite  | 
86  | 
self.run_bzr("resolve ../myfile")  | 
| 
1652.1.1
by Martin Pool
 Fix 'bzr resolve' run from subdirectory  | 
87  | 
os.chdir("../../b")  | 
| 
2530.3.1
by Martin Pool
 Cleanup old variations on run_bzr in the test suite  | 
88  | 
self.run_bzr("resolve ../a/myfile")  | 
| 
1652.1.1
by Martin Pool
 Fix 'bzr resolve' run from subdirectory  | 
89  | 
wt = WorkingTree.open_containing('.')[0]  | 
90  | 
conflicts = wt.conflicts()  | 
|
91  | 
if not conflicts.is_empty():  | 
|
92  | 
self.fail("tree still contains conflicts: %r" % conflicts)  | 
|
93  | 
finally:  | 
|
94  | 
os.chdir(orig_dir)  | 
|
| 
2120.7.3
by Aaron Bentley
 Update resolve command to automatically mark conflicts as resolved  | 
95  | 
|
96  | 
def test_auto_resolve(self):  | 
|
97  | 
"""Text conflicts can be resolved automatically"""  | 
|
98  | 
tree = self.make_branch_and_tree('tree')  | 
|
99  | 
self.build_tree_contents([('tree/file',  | 
|
100  | 
'<<<<<<<\na\n=======\n>>>>>>>\n')])  | 
|
101  | 
tree.add('file', 'file_id')  | 
|
102  | 
self.assertEqual(tree.kind('file_id'), 'file')  | 
|
103  | 
file_conflict = conflicts.TextConflict('file', file_id='file_id')  | 
|
104  | 
tree.set_conflicts(conflicts.ConflictList([file_conflict]))  | 
|
105  | 
os.chdir('tree')  | 
|
106  | 
note = self.run_bzr('resolve', retcode=1)[1]  | 
|
107  | 
self.assertContainsRe(note, '0 conflict\\(s\\) auto-resolved.')  | 
|
108  | 
self.assertContainsRe(note,  | 
|
109  | 
'Remaining conflicts:\nText conflict in file')  | 
|
110  | 
self.build_tree_contents([('file', 'a\n')])  | 
|
111  | 
note = self.run_bzr('resolve')[1]  | 
|
112  | 
self.assertContainsRe(note, 'All conflicts resolved.')  |