~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/testbranch.py

  • Committer: Martin Pool
  • Date: 2005-07-01 02:36:27 UTC
  • mto: This revision was merged to the branch mainline in revision 852.
  • Revision ID: mbp@sourcefrog.net-20050701023627-d8422b67a4c1d6d1
Show profile when converting inventory too.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# (C) 2005 Canonical Ltd
2
 
 
3
 
# This program is free software; you can redistribute it and/or modify
4
 
# it under the terms of the GNU General Public License as published by
5
 
# the Free Software Foundation; either version 2 of the License, or
6
 
# (at your option) any later version.
7
 
 
8
 
# This program is distributed in the hope that it will be useful,
9
 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
 
# GNU General Public License for more details.
12
 
 
13
 
# You should have received a copy of the GNU General Public License
14
 
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
 
 
17
 
 
18
 
import os
19
 
 
20
 
from bzrlib.selftest import TestCaseInTempDir
21
 
from bzrlib.branch import Branch
22
 
from bzrlib.trace import mutter
23
 
 
24
 
 
25
 
class TestAppendRevisions(TestCaseInTempDir):
26
 
    """Test appending more than one revision"""
27
 
    def test_append_revisions(self):
28
 
        from bzrlib.branch import Branch
29
 
        br = Branch(".", init=True)
30
 
        br.append_revision("rev1")
31
 
        self.assertEquals(br.revision_history(), ["rev1",])
32
 
        br.append_revision("rev2", "rev3")
33
 
        self.assertEquals(br.revision_history(), ["rev1", "rev2", "rev3"])
34
 
 
35
 
 
36
 
 
37
 
class TestFetch(TestCaseInTempDir):
38
 
    def test_fetch_revisions(self):
39
 
        """Test fetch-revision operation."""
40
 
        from bzrlib.fetch import Fetcher
41
 
        os.mkdir('b1')
42
 
        os.mkdir('b2')
43
 
        b1 = Branch('b1', init=True)
44
 
        b2 = Branch('b2', init=True)
45
 
        file(os.sep.join(['b1', 'foo']), 'w').write('hello')
46
 
        b1.add(['foo'], ['foo-id'])
47
 
        b1.commit('lala!', rev_id='revision-1', allow_pointless=False)
48
 
 
49
 
        mutter('start fetch')
50
 
        f = Fetcher(from_branch=b1, to_branch=b2)
51
 
        eq = self.assertEquals
52
 
        eq(f.count_copied, 1)
53
 
        eq(f.last_revision, 'revision-1')
54
 
 
55
 
        rev = b2.get_revision('revision-1')
56
 
        tree = b2.revision_tree('revision-1')
57
 
        eq(tree.get_file_text('foo-id'), 'hello')
58
 
 
59
 
 
60
 
# TODO: rewrite this as a regular unittest, without relying on the displayed output        
61
 
#         >>> from bzrlib.commit import commit
62
 
#         >>> bzrlib.trace.silent = True
63
 
#         >>> br1 = ScratchBranch(files=['foo', 'bar'])
64
 
#         >>> br1.add('foo')
65
 
#         >>> br1.add('bar')
66
 
#         >>> commit(br1, "lala!", rev_id="REVISION-ID-1", verbose=False)
67
 
#         >>> br2 = ScratchBranch()
68
 
#         >>> br2.update_revisions(br1)
69
 
#         Added 2 texts.
70
 
#         Added 1 inventories.
71
 
#         Added 1 revisions.
72
 
#         >>> br2.revision_history()
73
 
#         [u'REVISION-ID-1']
74
 
#         >>> br2.update_revisions(br1)
75
 
#         Added 0 revisions.
76
 
#         >>> br1.text_store.total_size() == br2.text_store.total_size()
77
 
#         True