/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/interrepository_implementations/test_interrepository.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2008-01-18 01:16:25 UTC
  • mfrom: (3184.1.13 integration)
  • Revision ID: pqm@pqm.ubuntu.com-20080118011625-465mgy0mhdz1jiky
(robertc) Reduce traffic when requesting revision streams from a
        smart server (3 MB to 172 bytes for a full bzr.dev pull)
        (Robert Collins)

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
import bzrlib.repofmt.weaverepo as weaverepo
33
33
import bzrlib.repository as repository
34
34
from bzrlib.revision import NULL_REVISION, Revision
 
35
from bzrlib.symbol_versioning import one_two
35
36
from bzrlib.tests import (
36
37
    TestCase,
37
38
    TestCaseWithTransport,
287
288
        tree_a.branch.repository.commit_write_group()
288
289
        tree_a.branch.repository.unlock()
289
290
 
290
 
    def test_missing_revision_ids(self):
 
291
    def test_missing_revision_ids_is_deprecated(self):
 
292
        repo_b = self.make_to_repository('rev1_only')
 
293
        repo_a = self.bzrdir.open_repository()
 
294
        repo_b.fetch(repo_a, 'rev1')
 
295
        # check the test will be valid
 
296
        self.assertFalse(repo_b.has_revision('rev2'))
 
297
        self.assertEqual(['rev2'],
 
298
            self.applyDeprecated(one_two, repo_b.missing_revision_ids, repo_a))
 
299
        inter = repository.InterRepository.get(repo_a, repo_b)
 
300
        self.assertEqual(['rev2'],
 
301
            self.applyDeprecated(one_two, inter.missing_revision_ids, None,
 
302
                True))
 
303
 
 
304
    def test_search_missing_revision_ids(self):
291
305
        # revision ids in repository A but not B are returned, fake ones
292
306
        # are stripped. (fake meaning no revision object, but an inventory 
293
307
        # as some formats keyed off inventory data in the past.)
297
311
        repo_b.fetch(repo_a, 'rev1')
298
312
        # check the test will be valid
299
313
        self.assertFalse(repo_b.has_revision('rev2'))
300
 
        self.assertEqual(['rev2'],
301
 
                         repo_b.missing_revision_ids(repo_a))
 
314
        result = repo_b.search_missing_revision_ids(repo_a)
 
315
        self.assertEqual(set(['rev2']), result.get_keys())
 
316
        self.assertEqual((set(['rev2']), set(['rev1']), 1), result.get_recipe())
302
317
 
303
 
    def test_missing_revision_ids_absent_requested_raises(self):
 
318
    def test_search_missing_revision_ids_absent_requested_raises(self):
304
319
        # Asking for missing revisions with a tip that is itself absent in the
305
320
        # source raises NoSuchRevision.
306
321
        repo_b = self.make_to_repository('target')
309
324
        self.assertFalse(repo_a.has_revision('pizza'))
310
325
        self.assertFalse(repo_b.has_revision('pizza'))
311
326
        # Asking specifically for an absent revision errors.
312
 
        self.assertRaises(NoSuchRevision, repo_b.missing_revision_ids, repo_a,
 
327
        self.assertRaises(NoSuchRevision, repo_b.search_missing_revision_ids, repo_a,
313
328
            revision_id='pizza', find_ghosts=True)
314
 
        self.assertRaises(NoSuchRevision, repo_b.missing_revision_ids, repo_a,
 
329
        self.assertRaises(NoSuchRevision, repo_b.search_missing_revision_ids, repo_a,
315
330
            revision_id='pizza', find_ghosts=False)
316
331
 
317
 
    def test_missing_revision_ids_revision_limited(self):
 
332
    def test_search_missing_revision_ids_revision_limited(self):
318
333
        # revision ids in repository A that are not referenced by the
319
334
        # requested revision are not returned.
320
335
        # make a repository to compare against that is empty
321
336
        repo_b = self.make_to_repository('empty')
322
337
        repo_a = self.bzrdir.open_repository()
323
 
        self.assertEqual(['rev1'],
324
 
                         repo_b.missing_revision_ids(repo_a, revision_id='rev1'))
 
338
        result = repo_b.search_missing_revision_ids(repo_a, revision_id='rev1')
 
339
        self.assertEqual(set(['rev1']), result.get_keys())
 
340
        self.assertEqual((set(['rev1']), set([NULL_REVISION]), 1),
 
341
            result.get_recipe())
325
342
        
326
343
    def test_fetch_fetches_signatures_too(self):
327
344
        from_repo = self.bzrdir.open_repository()