~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

(vila) Make it clearer that 'bzr st' can be used to determine which files
 changed in a particular revision (John C Barstow)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006-2011 Canonical Ltd
 
1
# Copyright (C) 2006-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
18
18
"""Tests for the update command of bzr."""
19
19
 
20
20
import os
 
21
import re
21
22
 
22
23
from bzrlib import (
23
24
    branch,
24
25
    bzrdir,
25
26
    osutils,
26
27
    tests,
 
28
    urlutils,
27
29
    workingtree,
28
30
    )
29
31
from bzrlib.tests.script import ScriptRunner
88
90
Updated to revision 1 of branch %s
89
91
""" % osutils.pathjoin(self.test_dir, 'branch',),
90
92
                         err)
91
 
        self.assertPathExists('branch/file')
 
93
        self.failUnlessExists('branch/file')
92
94
 
93
95
    def test_update_out_of_date_light_checkout(self):
94
96
        self.make_branch_and_tree('branch')
138
140
        # smoke test for doing an update of a checkout of a bound
139
141
        # branch with local commits.
140
142
        master = self.make_branch_and_tree('master')
141
 
        master.commit('first commit')
142
143
        # make a bound branch
143
144
        self.run_bzr('checkout master child')
 
145
        # get an object form of child
 
146
        child = workingtree.WorkingTree.open('child')
144
147
        # check that out
145
148
        self.run_bzr('checkout --lightweight child checkout')
146
149
        # get an object form of the checkout to manipulate
155
158
        a_file = file('child/file_b', 'wt')
156
159
        a_file.write('Foo')
157
160
        a_file.close()
158
 
        # get an object form of child
159
 
        child = workingtree.WorkingTree.open('child')
160
161
        child.add(['file_b'])
161
162
        child_tip = child.commit('add file_b', local=True)
162
163
        # check checkout
173
174
All changes applied successfully.
174
175
+N  file
175
176
All changes applied successfully.
176
 
Updated to revision 2 of branch %s
 
177
Updated to revision 1 of branch %s
177
178
Your local commits will now show as pending merges with 'bzr status', and can be committed with 'bzr commit'.
178
179
""" % osutils.pathjoin(self.test_dir, 'master',),
179
180
                         err)
180
181
        self.assertEqual([master_tip, child_tip], wt.get_parent_ids())
181
 
        self.assertPathExists('checkout/file')
182
 
        self.assertPathExists('checkout/file_b')
183
 
        self.assertPathExists('checkout/file_c')
 
182
        self.failUnlessExists('checkout/file')
 
183
        self.failUnlessExists('checkout/file_b')
 
184
        self.failUnlessExists('checkout/file_c')
184
185
        self.assertTrue(wt.has_filename('file_c'))
185
186
 
186
187
    def test_update_with_merges(self):
298
299
2>All changes applied successfully.
299
300
2>Updated to revision 1 of .../master
300
301
''')
301
 
        self.assertPathExists('./file1')
302
 
        self.assertPathDoesNotExist('./file2')
 
302
        self.failUnlessExists('./file1')
 
303
        self.failIfExists('./file2')
303
304
        self.assertEquals(['m1'], master.get_parent_ids())
304
305
 
305
306
    def test_update_dash_r_outside_history(self):
454
455
>>>>>>> MERGE-SOURCE
455
456
''',
456
457
                             'lightweight/file')
457
 
 
458
 
 
459
 
    def test_no_upgrade_single_file(self):
460
 
        """There's one basis revision per tree.
461
 
 
462
 
        Since you can't actually change the basis for a single file at the
463
 
        moment, we don't let you think you can.
464
 
 
465
 
        See bug 557886.
466
 
        """
467
 
        self.make_branch_and_tree('.')
468
 
        self.build_tree_contents([('a/',),
469
 
            ('a/file', 'content')])
470
 
        sr = ScriptRunner()
471
 
        sr.run_script(self, '''
472
 
            $ bzr update ./a
473
 
            2>bzr: ERROR: bzr update can only update a whole tree, not a file or subdirectory
474
 
            $ bzr update ./a/file
475
 
            2>bzr: ERROR: bzr update can only update a whole tree, not a file or subdirectory
476
 
            $ bzr update .
477
 
            2>Tree is up to date at revision 0 of branch ...
478
 
            $ cd a
479
 
            $ bzr update .
480
 
            2>bzr: ERROR: bzr update can only update a whole tree, not a file or subdirectory
481
 
            # however, you can update the whole tree from a subdirectory
482
 
            $ bzr update
483
 
            2>Tree is up to date at revision 0 of branch ...
484
 
            ''')