~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Martin Pool
  • Date: 2008-12-16 07:56:29 UTC
  • mto: (3882.7.11 progress)
  • mto: This revision was merged to the branch mainline in revision 3940.
  • Revision ID: mbp@sourcefrog.net-20081216075629-zhgjzxgoh32453tu
Choose the UIFactory class depending on the terminal capabilities

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
 
18
18
"""Black-box tests for bzr pull."""
239
239
        out = self.run_bzr('pull ../branch_a', retcode=3)
240
240
        self.assertEqual(out,
241
241
                ('','bzr: ERROR: These branches have diverged.'
242
 
                    ' Use the missing command to see how.\n'
243
 
                    'Use the merge command to reconcile them.\n'))
 
242
                    ' Use the merge command to reconcile them.\n'))
244
243
        self.assertEqual(branch_b.get_parent(), parent)
245
244
        # test implicit --remember after resolving previous failure
246
245
        uncommit(branch=branch_b, tree=tree_b)
341
340
        self.addCleanup(lambda: directories.remove('foo:'))
342
341
        self.run_bzr('pull foo:bar -d target')
343
342
        self.assertEqual(source_last, target.last_revision())
344
 
 
345
 
    def test_pull_verbose_defaults_to_long(self):
346
 
        tree = self.example_branch('source')
347
 
        target = self.make_branch_and_tree('target')
348
 
        out = self.run_bzr('pull -v source -d target')[0]
349
 
        self.assertContainsRe(out,
350
 
                              r'revno: 1\ncommitter: .*\nbranch nick: source')
351
 
        self.assertNotContainsRe(out, r'\n {4}1 .*\n {6}setup\n')
352
 
 
353
 
    def test_pull_verbose_uses_default_log(self):
354
 
        tree = self.example_branch('source')
355
 
        target = self.make_branch_and_tree('target')
356
 
        target_config = target.branch.get_config()
357
 
        target_config.set_user_option('log_format', 'short')
358
 
        out = self.run_bzr('pull -v source -d target')[0]
359
 
        self.assertContainsRe(out, r'\n {4}1 .*\n {6}setup\n')
360
 
        self.assertNotContainsRe(
361
 
            out, r'revno: 1\ncommitter: .*\nbranch nick: source')
362
 
 
363
 
    def test_pull_smart_stacked_streaming_acceptance(self):
364
 
        """'bzr pull -r 123' works on stacked, smart branches, even when the
365
 
        revision specified by the revno is only present in the fallback
366
 
        repository.
367
 
 
368
 
        See <https://launchpad.net/bugs/380314>
369
 
        """
370
 
        self.setup_smart_server_with_call_log()
371
 
        # Make a stacked-on branch with two commits so that the
372
 
        # revision-history can't be determined just by looking at the parent
373
 
        # field in the revision in the stacked repo.
374
 
        parent = self.make_branch_and_tree('parent', format='1.9')
375
 
        parent.commit(message='first commit')
376
 
        parent.commit(message='second commit')
377
 
        local = parent.bzrdir.sprout('local').open_workingtree()
378
 
        local.commit(message='local commit')
379
 
        local.branch.create_clone_on_transport(
380
 
            self.get_transport('stacked'), stacked_on=self.get_url('parent'))
381
 
        empty = self.make_branch_and_tree('empty', format='1.9')
382
 
        self.reset_smart_call_log()
383
 
        self.run_bzr(['pull', '-r', '1', self.get_url('stacked')],
384
 
            working_dir='empty')
385
 
        # This figure represent the amount of work to perform this use case. It
386
 
        # is entirely ok to reduce this number if a test fails due to rpc_count
387
 
        # being too low. If rpc_count increases, more network roundtrips have
388
 
        # become necessary for this use case. Please do not adjust this number
389
 
        # upwards without agreement from bzr's network support maintainers.
390
 
        self.assertLength(18, self.hpss_calls)
391
 
        remote = Branch.open('stacked')
392
 
        self.assertEndsWith(remote.get_stacked_on_url(), '/parent')
393