Rev 1748: Add tests for pull. in file:///data/jelmer/bzr-svn/trunk/
Jelmer Vernooij
jelmer at samba.org
Mon Sep 1 01:21:05 BST 2008
At file:///data/jelmer/bzr-svn/trunk/
------------------------------------------------------------
revno: 1748
revision-id: jelmer at samba.org-20080901002056-7m001pqzvfiyd0t0
parent: jelmer at samba.org-20080831234020-91a8v5qlrb69wg04
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Mon 2008-09-01 02:20:56 +0200
message:
Add tests for pull.
modified:
TODO todo-20060729211917-2kpobww0zyvvo0j2-1
tests/test_branch.py test_branch.py-20060508162215-74ffeb5d608f8e20
tests/test_workingtree.py test_workingtree.py-20060622191524-0di7bc3q1ckdbybb-1
workingtree.py workingtree.py-20060306120941-b083cb0fdd4a69de
=== modified file 'TODO'
--- a/TODO 2008-08-31 23:01:33 +0000
+++ b/TODO 2008-09-01 00:20:56 +0000
@@ -12,7 +12,6 @@
tests:
- more blackbox tests
- svn-import without scheme specified should guess
-- add tests for objects returned by WorkingTree.pull(), Branch.pull()
.svn working trees:
- implement apply_inventory_delta()
=== modified file 'tests/test_branch.py'
--- a/tests/test_branch.py 2008-08-30 23:45:11 +0000
+++ b/tests/test_branch.py 2008-09-01 00:20:56 +0000
@@ -141,6 +141,30 @@
self.assertEqual("trunk2", branch.get_branch_path(2))
self.assertEqual("trunk", branch.get_branch_path(1))
+ def test_pull_internal(self):
+ repos_url = self.make_repository("a")
+
+ dc = self.get_commit_editor(repos_url)
+ dc.add_dir("trunk")
+ dc.close()
+
+ dc = self.get_commit_editor(repos_url)
+ branches = dc.add_dir("branches")
+ branches.add_dir("branches/foo", "trunk", 1)
+ dc.close()
+
+ otherbranch = Branch.open(urlutils.join(repos_url, "branches", "foo"))
+ branch = Branch.open(urlutils.join(repos_url, "trunk"))
+ result = branch.pull(otherbranch)
+ self.assertEquals(branch.last_revision(), otherbranch.last_revision())
+ self.assertEquals(result.new_revid, otherbranch.last_revision())
+ self.assertEquals(result.old_revid, branch.revision_history()[0])
+ self.assertEquals(result.old_revno, 1)
+ self.assertEquals(result.new_revno, 2)
+ self.assertEquals(result.master_branch, None)
+ self.assertEquals(result.source_branch, otherbranch)
+ self.assertEquals(result.target_branch, branch)
+
def test_get_branch_path_subdir(self):
repos_url = self.make_repository("a")
=== modified file 'tests/test_workingtree.py'
--- a/tests/test_workingtree.py 2008-08-31 23:20:29 +0000
+++ b/tests/test_workingtree.py 2008-09-01 00:20:56 +0000
@@ -351,13 +351,28 @@
repos_url = self.make_client('a', 'dc')
dc = self.get_commit_editor(repos_url)
- dc.add_dir("bar")
- dc.close()
-
- tree = WorkingTree.open("dc")
- br = Branch.open(repos_url)
- tree.pull(br)
+ dc.add_dir("trunk")
+ dc.close()
+
+ self.client_update("dc")
+
+ dc = self.get_commit_editor(repos_url)
+ branches = dc.add_dir("branches")
+ foo = branches.add_dir("branches/foo", "trunk")
+ dc.close()
+
+ tree = WorkingTree.open("dc/trunk")
+ old_revid = tree.last_revision()
+ br = Branch.open("%s/branches/foo" % repos_url)
+ result = tree.pull(br)
self.assertEquals(tree.last_revision(), br.last_revision())
+ self.assertEquals(tree.last_revision(), result.new_revid)
+ self.assertEquals(2, result.new_revno)
+ self.assertEquals(old_revid, result.old_revid)
+ self.assertEquals(1, result.old_revno)
+ self.assertEquals(None, result.master_branch)
+ self.assertEquals(tree.branch, result.target_branch)
+ self.assertEquals(br, result.source_branch)
def test_working_inventory(self):
self.make_client('a', 'dc')
=== modified file 'workingtree.py'
--- a/workingtree.py 2008-08-31 23:20:29 +0000
+++ b/workingtree.py 2008-09-01 00:20:56 +0000
@@ -520,21 +520,12 @@
# FIXME: Use delta_reporter
# FIXME: Use source
# FIXME: Use overwrite
- result = PullResult()
- result.source_branch = source
- result.master_branch = None
- result.target_branch = self.branch
- (result.old_revno, result.old_revid) = self.branch.last_revision_info()
- if stop_revision is None:
- stop_revision = self.branch.last_revision()
- revnumber = self.branch.lookup_revision_id(stop_revision)
- fetched = self._update(revnumber)
+ result = self.branch.pull(source, overwrite=overwrite, stop_revision=stop_revision)
+ fetched = self._update(self.branch.get_revnum())
self.base_revnum = fetched
self.base_revid = self.branch.generate_revision_id(fetched)
self.base_tree = None
self.read_working_inventory()
- result.new_revid = self.base_revid
- result.new_revno = self.branch.revision_id_to_revno(result.new_revid)
return result
def get_file_sha1(self, file_id, path=None, stat_value=None):
More information about the bazaar-commits
mailing list