27
27
self.build_tree(['from/', 'from/file', 'to/'])
28
28
tree = self.make_branch_and_tree('from')
30
tree.commit('foo', rev_id='A')
30
a = tree.commit('foo')
31
31
tree_b = self.make_branch_and_tree('to')
32
return tree, tree_b, a
34
34
def test_pull_null(self):
35
tree_a, tree_b = self.get_pullable_trees()
35
tree_a, tree_b, rev_a = self.get_pullable_trees()
36
36
root_id = tree_a.get_root_id()
37
37
tree_a.pull(tree_b.branch, stop_revision=NULL_REVISION, overwrite=True)
38
38
self.assertEqual(root_id, tree_a.get_root_id())
40
40
def test_pull(self):
41
tree_a, tree_b = self.get_pullable_trees()
41
tree_a, tree_b, rev_a = self.get_pullable_trees()
42
42
tree_b.pull(tree_a.branch)
43
self.assertTrue(tree_b.branch.repository.has_revision('A'))
44
self.assertEqual(['A'], tree_b.get_parent_ids())
43
self.assertTrue(tree_b.branch.repository.has_revision(rev_a))
44
self.assertEqual([rev_a], tree_b.get_parent_ids())
46
46
def test_pull_overwrites(self):
47
tree_a, tree_b = self.get_pullable_trees()
48
tree_b.commit('foo', rev_id='B')
49
self.assertEqual('B', tree_b.branch.last_revision())
47
tree_a, tree_b, rev_a = self.get_pullable_trees()
48
rev_b = tree_b.commit('foo')
49
self.assertEqual(rev_b, tree_b.branch.last_revision())
50
50
tree_b.pull(tree_a.branch, overwrite=True)
51
self.assertTrue(tree_b.branch.repository.has_revision('A'))
52
self.assertTrue(tree_b.branch.repository.has_revision('B'))
53
self.assertEqual(['A'], tree_b.get_parent_ids())
51
self.assertTrue(tree_b.branch.repository.has_revision(rev_a))
52
self.assertTrue(tree_b.branch.repository.has_revision(rev_b))
53
self.assertEqual([rev_a], tree_b.get_parent_ids())
55
55
def test_pull_merges_tree_content(self):
56
tree_a, tree_b = self.get_pullable_trees()
56
tree_a, tree_b, rev_a = self.get_pullable_trees()
57
57
tree_b.pull(tree_a.branch)
58
58
self.assertFileEqual('contents of from/file\n', 'to/file')