48
48
def test_finish_inventory(self):
49
49
tree = self.make_branch_and_tree(".")
51
builder = tree.branch.get_commit_builder([])
52
self.record_root(builder, tree)
53
builder.finish_inventory()
54
tree.branch.repository.commit_write_group()
52
builder = tree.branch.get_commit_builder([])
53
self.record_root(builder, tree)
54
builder.finish_inventory()
55
tree.branch.repository.commit_write_group()
57
59
def test_commit_message(self):
58
60
tree = self.make_branch_and_tree(".")
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')
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')
65
69
rev = tree.branch.repository.get_revision(rev_id)
66
70
self.assertEqual('foo bar blah', rev.message)
68
72
def test_commit_with_revision_id(self):
69
73
tree = self.make_branch_and_tree(".")
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')
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')
76
builder = tree.branch.get_commit_builder([],
77
revision_id=revision_id)
78
except NonAsciiRevisionId:
80
builder = tree.branch.get_commit_builder([],
81
revision_id=revision_id)
82
except CannotSetRevisionId:
83
# This format doesn't support supplied revision ids
81
builder = tree.branch.get_commit_builder([],
82
revision_id=revision_id)
83
except NonAsciiRevisionId:
85
builder = tree.branch.get_commit_builder([],
86
revision_id=revision_id)
87
except CannotSetRevisionId:
88
# This format doesn't support supplied revision ids
90
self.record_root(builder, tree)
91
builder.finish_inventory()
92
self.assertEqual(revision_id, builder.commit('foo bar'))
86
self.record_root(builder, tree)
87
builder.finish_inventory()
88
self.assertEqual(revision_id, builder.commit('foo bar'))
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')
126
builder = tree.branch.get_commit_builder([])
127
self.record_root(builder, tree)
128
builder.finish_inventory()
129
rev_id = builder.commit('foo bar')
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')
143
builder = tree.branch.get_commit_builder([])
144
self.record_root(builder, tree)
145
builder.finish_inventory()
146
rev_id = builder.commit('foo bar')
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.