/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/test_fetch.py

Ensure that fetch properly updates inventory root knit

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
import os
18
18
import sys
19
19
 
 
20
from bzrlib import bzrdir, repository
20
21
from bzrlib.branch import Branch
21
22
from bzrlib.bzrdir import BzrDir
22
23
from bzrlib.builtins import merge
25
26
from bzrlib.tests.HTTPTestUtil import TestCaseWithWebserver
26
27
from bzrlib.tests.test_revision import make_branches
27
28
from bzrlib.trace import mutter
 
29
from bzrlib.upgrade import Convert
28
30
from bzrlib.workingtree import WorkingTree
29
31
 
30
32
 
113
115
        wt = self.make_branch_and_tree('br')
114
116
        self.assertEqual(wt.branch.fetch(wt.branch), (0, []))
115
117
 
 
118
    def test_fetch_root_knit(self):
 
119
        """Ensure that knit2 updates the root knit
 
120
        
 
121
        This tests the case where the root has been changed
 
122
        """
 
123
        knit1 = bzrdir.BzrDirMetaFormat1()
 
124
        knit1.repository_format = repository.RepositoryFormatKnit1()
 
125
        knit2 = bzrdir.BzrDirMetaFormat1()
 
126
        knit2.repository_format = repository.RepositoryFormatKnit2()
 
127
        tree = self.make_branch_and_tree('tree', knit1)
 
128
        tree.set_root_id('tree-root')
 
129
        tree.commit('rev1', rev_id='rev1')
 
130
        tree.commit('rev2', rev_id='rev2')
 
131
        Convert(tree.basedir, knit2)
 
132
        tree = WorkingTree.open(tree.basedir)
 
133
        branch = self.make_branch('branch', format=knit2)
 
134
        branch.pull(tree.branch, stop_revision='rev1')
 
135
        repo = branch.repository
 
136
        root_weave = repo.weave_store.get_weave('tree-root',
 
137
                                                repo.get_transaction())
 
138
        self.assertTrue('rev1' in root_weave)
 
139
        self.assertTrue('rev2' not in root_weave)
 
140
        branch.pull(tree.branch)
 
141
        root_weave = repo.weave_store.get_weave('tree-root',
 
142
                                                repo.get_transaction())
 
143
        self.assertTrue('rev2' in root_weave)
 
144
 
116
145
 
117
146
class TestMergeFetch(TestCaseWithTransport):
118
147