Rev 445: Try to fix a bug found by mwh's test. in sftp://people.samba.org/data/bzr/jelmer/bzr-svn/bzr.dev/

Jelmer Vernooij jelmer at samba.org
Wed May 2 01:53:15 BST 2007


At sftp://people.samba.org/data/bzr/jelmer/bzr-svn/bzr.dev/

------------------------------------------------------------
revno: 445
revision-id: jelmer at samba.org-20070502005238-juqk20xhks8t6501
parent: jelmer at samba.org-20070415161553-4s5vprta60mch70r
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: main
timestamp: Wed 2007-05-02 02:52:38 +0200
message:
  Try to fix a bug found by mwh's test.
modified:
  fetch.py                       fetch.py-20060625004942-x2lfaib8ra707a8p-1
  repository.py                  repository.py-20060306123302-1f8c5069b3fe0265
  tests/test_commit.py           test_commit.py-20060624213521-l5kcufywkh9mnilk-1
  tests/test_repos.py            test_repos.py-20060508151940-ddc49a59257ca712
=== modified file 'fetch.py'
--- a/fetch.py	2007-03-25 19:50:45 +0000
+++ b/fetch.py	2007-05-02 00:52:38 +0000
@@ -321,6 +321,7 @@
         parents = {}
         for (branch, revnum) in self.source.follow_history(
                                                 self.source._latest_revnum):
+            mutter('br, revnum: %r, %r' % (branch, revnum))
             revid = self.source.generate_revision_id(revnum, branch)
             parents[revid] = self.source._mainline_revision_parent(branch, 
                                                                    revnum)

=== modified file 'repository.py'
--- a/repository.py	2007-03-25 18:41:40 +0000
+++ b/repository.py	2007-05-02 00:52:38 +0000
@@ -98,7 +98,8 @@
     assert isinstance(revnum, int)
     assert isinstance(path, basestring)
     assert revnum >= 0
-    assert revnum > 0 or path == ""
+    assert revnum > 0 or path == "", \
+            "Trying to generate revid for (%r,%r)" % (path, revnum)
     return "%s%s:%s:%s:%d" % (REVISION_ID_PREFIX, scheme, uuid, \
                    escape_svn_path(path.strip("/")), revnum)
 

=== modified file 'tests/test_commit.py'
--- a/tests/test_commit.py	2007-04-15 16:15:53 +0000
+++ b/tests/test_commit.py	2007-05-02 00:52:38 +0000
@@ -101,31 +101,31 @@
             self.client_update('sc')
         self.build_tree({'sc/de/foo':'data', 'sc/de/bar':'DATA'})
         self.client_add('sc/de')
-        self.client_commit('sc', 'blah')
+        self.client_commit('sc', 'blah') #1
         self.client_update('sc')
         os.mkdir('sc/de/trunk')
         self.client_add('sc/de/trunk')
-        mv(('sc/de/foo', 'sc/de/trunk'), ('sc/de/bar', 'sc/de/trunk'))
-        mv(('sc/de', 'sc/pyd')) 
+        mv(('sc/de/foo', 'sc/de/trunk'), ('sc/de/bar', 'sc/de/trunk')) #2
+        mv(('sc/de', 'sc/pyd'))  #3
         self.client_delete('sc/pyd/trunk/foo')
-        self.client_commit('sc', '.')
+        self.client_commit('sc', '.') #4
         self.client_update('sc')
 
         self.make_checkout(repo + '/pyd/trunk', 'pyd')
-        assert open('pyd/bar').read() == 'DATA'
+        self.assertEqual("DATA", open('pyd/bar').read())
 
         olddir = BzrDir.open("pyd")
         os.mkdir('bc')
         newdir = olddir.sprout("bc")
         newdir.open_branch().pull(olddir.open_branch())
         wt = newdir.open_workingtree()
-        assert open('bc/bar').read() == 'DATA'
+        self.assertEqual("DATA", open('bc/bar').read())
         open('bc/bar', 'w').write('data')
         wt.commit(message="Commit from Bzr")
         olddir.open_branch().pull(newdir.open_branch())
 
         self.client_update('pyd')
-        assert open('pyd/bar').read() == 'data'
+        self.assertEqual("data", open('pyd/bar').read())
         
 
 class TestPush(TestCaseWithSubversionRepository):

=== modified file 'tests/test_repos.py'
--- a/tests/test_repos.py	2007-03-25 18:41:40 +0000
+++ b/tests/test_repos.py	2007-05-02 00:52:38 +0000
@@ -137,6 +137,21 @@
             repos.generate_revision_id(1, "trunk")], 
             list(repos.all_revision_ids()))
 
+    def test_follow_history_empty(self):
+        repos_url = self.make_client("a", "dc")
+        self.assertEqual([('', 0)], 
+                list(Repository.open(repos_url).follow_history(0)))
+
+    def test_follow_history_empty_branch(self):
+        repos_url = self.make_client("a", "dc")
+        self.build_tree({'dc/trunk/afile': "data", "dc/branches": None})
+        self.client_add("dc/trunk")
+        self.client_add("dc/branches")
+        self.client_commit("dc", "My Message")
+        repos = Repository.open(repos_url)
+        repos.set_branching_scheme(TrunkBranchingScheme())
+        self.assertEqual([('trunk', 1)], list(repos.follow_history(1)))
+
     def test_follow_history_follow(self):
         repos_url = self.make_client("a", "dc")
         self.build_tree({'dc/trunk/afile': "data", "dc/branches": None})
@@ -1985,6 +2000,50 @@
         repos = Repository.open(repos_url)
         repos.set_branching_scheme(NoBranchingScheme())
 
+    def test_mainline_revision_parent_null(self):
+        repos_url = self.make_client('d', 'dc')
+        repos = Repository.open(repos_url)
+        repos.set_branching_scheme(NoBranchingScheme())
+        self.assertEquals(None, repos._mainline_revision_parent("", 0))
+
+    def test_mainline_revision_parent_null(self):
+        repos_url = self.make_client('d', 'dc')
+        repos = Repository.open(repos_url)
+        repos.set_branching_scheme(NoBranchingScheme())
+        self.build_tree({'dc/adir/afile': "data"})
+        self.client_add("dc/adir")
+        self.client_commit("dc", "Initial commit")
+        self.assertEquals(repos.generate_revision_id(0, ""), \
+                repos._mainline_revision_parent("", 1))
+
+    def test_mainline_revision_parent_simple(self):
+        repos_url = self.make_client('d', 'dc')
+        self.build_tree({'dc/trunk/adir/afile': "data", 
+                         'dc/trunk/adir/stationary': None,
+                         'dc/branches/abranch': None})
+        self.client_add("dc/trunk")
+        self.client_add("dc/branches")
+        self.client_commit("dc", "Initial commit")
+        self.build_tree({'dc/trunk/adir/afile': "bla"})
+        self.client_commit("dc", "Incremental commit")
+        repos = Repository.open(repos_url)
+        repos.set_branching_scheme(TrunkBranchingScheme())
+        self.assertEquals(repos.generate_revision_id(1, "trunk"), \
+                repos._mainline_revision_parent("trunk", 2))
+
+    def test_mainline_revision_parent_moved(self):
+        repos_url = self.make_client('d', 'dc')
+        self.build_tree({'dc/py/trunk/adir/afile': "data", 
+                         'dc/py/trunk/adir/stationary': None})
+        self.client_add("dc/py")
+        self.client_commit("dc", "Initial commit")
+        self.client_copy("dc/py", "dc/de")
+        self.client_commit("dc", "Incremental commit")
+        repos = Repository.open(repos_url)
+        repos.set_branching_scheme(TrunkBranchingScheme())
+        self.assertEquals(repos.generate_revision_id(1, "py/trunk"), \
+                repos._mainline_revision_parent("de/trunk", 2))
+
     def test_fetch_crosscopy(self):
         repos_url = self.make_client('d', 'dc')
         self.build_tree({'dc/trunk/adir/afile': "data", 




More information about the bazaar-commits mailing list