/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

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

  • Committer: John Arbash Meinel
  • Date: 2007-07-11 23:45:20 UTC
  • mfrom: (2601 +trunk)
  • mto: This revision was merged to the branch mainline in revision 2643.
  • Revision ID: john@arbash-meinel.com-20070711234520-do3h7zw8skbathpz
[merge] bzr.dev 2601

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
class TestUpdate(ExternalBase):
30
30
 
31
31
    def test_update_standalone_trivial(self):
32
 
        self.runbzr("init")
33
 
        out, err = self.runbzr('update')
 
32
        self.run_bzr("init")
 
33
        out, err = self.run_bzr('update')
34
34
        self.assertEqual('Tree is up to date at revision 0.\n', err)
35
35
        self.assertEqual('', out)
36
36
 
37
37
    def test_update_standalone_trivial_with_alias_up(self):
38
 
        self.runbzr("init")
39
 
        out, err = self.runbzr('up')
 
38
        self.run_bzr("init")
 
39
        out, err = self.run_bzr('up')
40
40
        self.assertEqual('Tree is up to date at revision 0.\n', err)
41
41
        self.assertEqual('', out)
42
42
 
43
43
    def test_update_up_to_date_light_checkout(self):
44
44
        self.make_branch_and_tree('branch')
45
 
        self.runbzr('checkout --lightweight branch checkout')
46
 
        out, err = self.runbzr('update checkout')
 
45
        self.run_bzr('checkout --lightweight branch checkout')
 
46
        out, err = self.run_bzr('update checkout')
47
47
        self.assertEqual('Tree is up to date at revision 0.\n', err)
48
48
        self.assertEqual('', out)
49
49
 
50
50
    def test_update_up_to_date_checkout(self):
51
51
        self.make_branch_and_tree('branch')
52
 
        self.run_bzr('checkout', 'branch', 'checkout')
53
 
        out, err = self.run_bzr('update', 'checkout')
 
52
        self.run_bzr('checkout branch checkout')
 
53
        out, err = self.run_bzr('update checkout')
54
54
        self.assertEqual('Tree is up to date at revision 0.\n', err)
55
55
        self.assertEqual('', out)
56
56
 
59
59
        # because it currently uses the branch last-revision marker.
60
60
        self.make_branch_and_tree('branch')
61
61
        # make a checkout
62
 
        self.runbzr('checkout --lightweight branch checkout')
 
62
        self.run_bzr('checkout --lightweight branch checkout')
63
63
        self.build_tree(['checkout/file'])
64
 
        self.runbzr('add checkout/file')
65
 
        self.runbzr('commit -m add-file checkout')
 
64
        self.run_bzr('add checkout/file')
 
65
        self.run_bzr('commit -m add-file checkout')
66
66
        # now branch should be out of date
67
 
        out,err = self.runbzr('update branch')
 
67
        out,err = self.run_bzr('update branch')
68
68
        self.assertEqual('', out)
69
 
        self.assertEqual('All changes applied successfully.\n'
70
 
                         'Updated to revision 1.\n', err)
 
69
        self.assertContainsRe(err, '\+N  file')
 
70
        self.assertEndsWith(err, 'All changes applied successfully.\n'
 
71
                         'Updated to revision 1.\n')
71
72
        self.failUnlessExists('branch/file')
72
73
 
73
74
    def test_update_out_of_date_light_checkout(self):
74
75
        self.make_branch_and_tree('branch')
75
76
        # make two checkouts
76
 
        self.runbzr('checkout --lightweight branch checkout')
77
 
        self.runbzr('checkout --lightweight branch checkout2')
 
77
        self.run_bzr('checkout --lightweight branch checkout')
 
78
        self.run_bzr('checkout --lightweight branch checkout2')
78
79
        self.build_tree(['checkout/file'])
79
 
        self.runbzr('add checkout/file')
80
 
        self.runbzr('commit -m add-file checkout')
 
80
        self.run_bzr('add checkout/file')
 
81
        self.run_bzr('commit -m add-file checkout')
81
82
        # now checkout2 should be out of date
82
 
        out,err = self.runbzr('update checkout2')
83
 
        self.assertEqual('All changes applied successfully.\n'
84
 
                         'Updated to revision 1.\n',
85
 
                         err)
 
83
        out,err = self.run_bzr('update checkout2')
 
84
        self.assertContainsRe(err, '\+N  file')
 
85
        self.assertEndsWith(err, 'All changes applied successfully.\n'
 
86
                         'Updated to revision 1.\n')
86
87
        self.assertEqual('', out)
87
88
 
88
89
    def test_update_conflicts_returns_2(self):
89
90
        self.make_branch_and_tree('branch')
90
91
        # make two checkouts
91
 
        self.runbzr('checkout --lightweight branch checkout')
 
92
        self.run_bzr('checkout --lightweight branch checkout')
92
93
        self.build_tree(['checkout/file'])
93
 
        self.runbzr('add checkout/file')
94
 
        self.runbzr('commit -m add-file checkout')
95
 
        self.runbzr('checkout --lightweight branch checkout2')
 
94
        self.run_bzr('add checkout/file')
 
95
        self.run_bzr('commit -m add-file checkout')
 
96
        self.run_bzr('checkout --lightweight branch checkout2')
96
97
        # now alter file in checkout
97
98
        a_file = file('checkout/file', 'wt')
98
99
        a_file.write('Foo')
99
100
        a_file.close()
100
 
        self.runbzr('commit -m checnge-file checkout')
 
101
        self.run_bzr('commit -m checnge-file checkout')
101
102
        # now checkout2 should be out of date
102
103
        # make a local change to file
103
104
        a_file = file('checkout2/file', 'wt')
104
105
        a_file.write('Bar')
105
106
        a_file.close()
106
 
        out,err = self.runbzr('update checkout2', retcode=1)
 
107
        out,err = self.run_bzr('update checkout2', retcode=1)
 
108
        self.assertContainsRe(err, 'M  file')
107
109
        self.assertEqual(['1 conflicts encountered.',
108
110
                          'Updated to revision 2.'],
109
 
                         err.split('\n')[1:3])
 
111
                         err.split('\n')[-3:-1])
110
112
        self.assertContainsRe(err, 'Text conflict in file\n')
111
113
        self.assertEqual('', out)
112
114
 
115
117
        # branch with local commits.
116
118
        master = self.make_branch_and_tree('master')
117
119
        # make a bound branch
118
 
        self.run_bzr('checkout', 'master', 'child')
 
120
        self.run_bzr('checkout master child')
119
121
        # get an object form of child
120
122
        child = WorkingTree.open('child')
121
123
        # check that out
122
 
        self.run_bzr('checkout', '--lightweight', 'child', 'checkout')
 
124
        self.run_bzr('checkout --lightweight child checkout')
123
125
        # get an object form of the checkout to manipulate
124
126
        wt = WorkingTree.open('checkout')
125
127
        # change master
142
144
 
143
145
        # now, update checkout ->
144
146
        # get all three files and a pending merge.
145
 
        out, err = self.run_bzr('update', 'checkout')
 
147
        out, err = self.run_bzr('update checkout')
146
148
        self.assertEqual('', out)
 
149
        self.assertContainsRe(err, '\+N  file')
 
150
        self.assertContainsRe(err, '\+N  file_b')
147
151
        self.assertContainsRe(err, 'Updated to revision 1.\n'
148
152
                                   'Your local commits will now show as'
149
153
                                   ' pending merges')
180
184
 
181
185
        # Merge the other branch into checkout
182
186
        os.chdir('checkout1')
183
 
        self.run_bzr('merge', '../other')
 
187
        self.run_bzr('merge ../other')
184
188
 
185
189
        self.assertEqual(['o2'], checkout1.get_parent_ids()[1:])
186
190
 
187
191
        # At this point, 'commit' should fail, because we are out of date
188
192
        self.run_bzr_error(["please run 'bzr update'"],
189
 
                           'commit', '-m', 'merged')
 
193
                           'commit -m merged')
190
194
 
191
195
        # This should not report about local commits being pending
192
196
        # merges, because they were real merges
193
197
        out, err = self.run_bzr('update')
194
198
        self.assertEqual('', out)
195
 
        self.assertEqual('All changes applied successfully.\n'
196
 
                         'Updated to revision 2.\n', err)
197
 
 
 
199
        self.assertEndsWith(err, 'All changes applied successfully.\n'
 
200
                         'Updated to revision 2.\n')
 
201
        self.assertContainsRe(err, r'\+N  file3')
198
202
        # The pending merges should still be there
199
203
        self.assertEqual(['o2'], checkout1.get_parent_ids()[1:])
200
204
 
205
209
        checkout = readonly_branch.create_checkout('checkout',
206
210
                                                   lightweight=True)
207
211
        tree.commit('empty commit')
208
 
        self.runbzr(['update', 'checkout'])
 
212
        self.run_bzr('update checkout')