/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/repository_implementations/test_commit_builder.py

  • Committer: Robert Collins
  • Date: 2007-08-01 00:20:37 UTC
  • mto: This revision was merged to the branch mainline in revision 2682.
  • Revision ID: robertc@robertcollins.net-20070801002037-cjf6ja1y3zzw5f2e
Review feedback and documentation.

Show diffs side-by-side

added added

removed removed

Lines of Context:
48
48
    def test_finish_inventory(self):
49
49
        tree = self.make_branch_and_tree(".")
50
50
        tree.lock_write()
51
 
        builder = tree.branch.get_commit_builder([])
52
 
        self.record_root(builder, tree)
53
 
        builder.finish_inventory()
54
 
        tree.branch.repository.commit_write_group()
55
 
        tree.unlock()
 
51
        try:
 
52
            builder = tree.branch.get_commit_builder([])
 
53
            self.record_root(builder, tree)
 
54
            builder.finish_inventory()
 
55
            tree.branch.repository.commit_write_group()
 
56
        finally:
 
57
            tree.unlock()
56
58
 
57
59
    def test_commit_message(self):
58
60
        tree = self.make_branch_and_tree(".")
59
61
        tree.lock_write()
60
 
        builder = tree.branch.get_commit_builder([])
61
 
        self.record_root(builder, tree)
62
 
        builder.finish_inventory()
63
 
        rev_id = builder.commit('foo bar blah')
64
 
        tree.unlock()
 
62
        try:
 
63
            builder = tree.branch.get_commit_builder([])
 
64
            self.record_root(builder, tree)
 
65
            builder.finish_inventory()
 
66
            rev_id = builder.commit('foo bar blah')
 
67
        finally:
 
68
            tree.unlock()
65
69
        rev = tree.branch.repository.get_revision(rev_id)
66
70
        self.assertEqual('foo bar blah', rev.message)
67
71
 
68
72
    def test_commit_with_revision_id(self):
69
73
        tree = self.make_branch_and_tree(".")
70
74
        tree.lock_write()
71
 
        # use a unicode revision id to test more corner cases.
72
 
        # The repository layer is meant to handle this.
73
 
        revision_id = u'\xc8abc'.encode('utf8')
74
75
        try:
 
76
            # use a unicode revision id to test more corner cases.
 
77
            # The repository layer is meant to handle this.
 
78
            revision_id = u'\xc8abc'.encode('utf8')
75
79
            try:
76
 
                builder = tree.branch.get_commit_builder([],
77
 
                    revision_id=revision_id)
78
 
            except NonAsciiRevisionId:
79
 
                revision_id = 'abc'
80
 
                builder = tree.branch.get_commit_builder([],
81
 
                    revision_id=revision_id)
82
 
        except CannotSetRevisionId:
83
 
            # This format doesn't support supplied revision ids
 
80
                try:
 
81
                    builder = tree.branch.get_commit_builder([],
 
82
                        revision_id=revision_id)
 
83
                except NonAsciiRevisionId:
 
84
                    revision_id = 'abc'
 
85
                    builder = tree.branch.get_commit_builder([],
 
86
                        revision_id=revision_id)
 
87
            except CannotSetRevisionId:
 
88
                # This format doesn't support supplied revision ids
 
89
                return
 
90
            self.record_root(builder, tree)
 
91
            builder.finish_inventory()
 
92
            self.assertEqual(revision_id, builder.commit('foo bar'))
 
93
        finally:
84
94
            tree.unlock()
85
 
            return
86
 
        self.record_root(builder, tree)
87
 
        builder.finish_inventory()
88
 
        self.assertEqual(revision_id, builder.commit('foo bar'))
89
 
        tree.unlock()
90
95
        self.assertTrue(tree.branch.repository.has_revision(revision_id))
91
96
        # the revision id must be set on the inventory when saving it. This
92
97
        # does not precisely test that - a repository that wants to can add it
117
122
    def test_commit(self):
118
123
        tree = self.make_branch_and_tree(".")
119
124
        tree.lock_write()
120
 
        builder = tree.branch.get_commit_builder([])
121
 
        self.record_root(builder, tree)
122
 
        builder.finish_inventory()
123
 
        rev_id = builder.commit('foo bar')
124
 
        tree.unlock()
 
125
        try:
 
126
            builder = tree.branch.get_commit_builder([])
 
127
            self.record_root(builder, tree)
 
128
            builder.finish_inventory()
 
129
            rev_id = builder.commit('foo bar')
 
130
        finally:
 
131
            tree.unlock()
125
132
        self.assertNotEqual(None, rev_id)
126
133
        self.assertTrue(tree.branch.repository.has_revision(rev_id))
127
134
        # the revision id must be set on the inventory when saving it. This does not
132
139
    def test_revision_tree(self):
133
140
        tree = self.make_branch_and_tree(".")
134
141
        tree.lock_write()
135
 
        builder = tree.branch.get_commit_builder([])
136
 
        self.record_root(builder, tree)
137
 
        builder.finish_inventory()
138
 
        rev_id = builder.commit('foo bar')
139
 
        tree.unlock()
 
142
        try:
 
143
            builder = tree.branch.get_commit_builder([])
 
144
            self.record_root(builder, tree)
 
145
            builder.finish_inventory()
 
146
            rev_id = builder.commit('foo bar')
 
147
        finally:
 
148
            tree.unlock()
140
149
        rev_tree = builder.revision_tree()
141
150
        # Just a couple simple tests to ensure that it actually follows
142
151
        # the RevisionTree api.