Rev 4282: (Jelmer) Allow empty list of authors if there is no committer set. in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Fri Apr 10 01:53:59 BST 2009


At file:///home/pqm/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 4282
revision-id: pqm at pqm.ubuntu.com-20090410005355-gbvyv8ghdgx5h480
parent: pqm at pqm.ubuntu.com-20090409231255-o8w1g2q3igiyf8b2
parent: jelmer at samba.org-20090409235902-px7hsq4c7k8x9sty
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Fri 2009-04-10 01:53:55 +0100
message:
  (Jelmer) Allow empty list of authors if there is no committer set.
modified:
  bzrlib/revision.py             revision.py-20050309040759-e77802c08f3999d5
  bzrlib/tests/test_revision.py  testrevision.py-20050804210559-46f5e1eb67b01289
    ------------------------------------------------------------
    revno: 4258.3.2
    revision-id: jelmer at samba.org-20090409235902-px7hsq4c7k8x9sty
    parent: jelmer at samba.org-20090406210110-3f2ektdpbhrpl9bf
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: get-apparent-author-no-committer
    timestamp: Fri 2009-04-10 01:59:02 +0200
    message:
      Remove unnecessary assignment of Revision.committer.
    modified:
      bzrlib/tests/test_revision.py  testrevision.py-20050804210559-46f5e1eb67b01289
    ------------------------------------------------------------
    revno: 4258.3.1
    revision-id: jelmer at samba.org-20090406210110-3f2ektdpbhrpl9bf
    parent: pqm at pqm.ubuntu.com-20090406190443-d2e9bmch7wb8p7u1
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: get-apparent-author-no-committer
    timestamp: Mon 2009-04-06 23:01:10 +0200
    message:
      Cope with revision.committer being None.
    modified:
      bzrlib/revision.py             revision.py-20050309040759-e77802c08f3999d5
      bzrlib/tests/test_revision.py  testrevision.py-20050804210559-46f5e1eb67b01289
=== modified file 'bzrlib/revision.py'
--- a/bzrlib/revision.py	2009-04-04 02:50:01 +0000
+++ b/bzrlib/revision.py	2009-04-06 21:01:10 +0000
@@ -56,6 +56,7 @@
         self.revision_id = revision_id
         self.properties = properties or {}
         self._check_properties()
+        self.committer = None
         self.parent_ids = []
         self.parent_sha1s = []
         """Not used anymore - legacy from for 4."""
@@ -122,7 +123,11 @@
         If the revision properties contain any author names,
         return the first. Otherwise return the committer name.
         """
-        return self.get_apparent_authors()[0]
+        authors = self.get_apparent_authors()
+        if authors:
+            return authors[0]
+        else:
+            return None
 
     def get_apparent_authors(self):
         """Return the apparent authors of this revision.
@@ -134,9 +139,9 @@
         """
         authors = self.properties.get('authors', None)
         if authors is None:
-            author = self.properties.get('author', None)
+            author = self.properties.get('author', self.committer)
             if author is None:
-                return [self.committer]
+                return []
             return [author]
         else:
             return authors.split("\n")

=== modified file 'bzrlib/tests/test_revision.py'
--- a/bzrlib/tests/test_revision.py	2009-03-24 01:53:42 +0000
+++ b/bzrlib/tests/test_revision.py	2009-04-09 23:59:02 +0000
@@ -227,6 +227,13 @@
                 r.get_apparent_author)
         self.assertEqual('C', author)
 
+    def test_get_apparent_author_none(self):
+        r = revision.Revision('1')
+        author = self.applyDeprecated(
+                symbol_versioning.deprecated_in((1, 13, 0)),
+                r.get_apparent_author)
+        self.assertEqual(None, author)
+
     def test_get_apparent_authors(self):
         r = revision.Revision('1')
         r.committer = 'A'
@@ -236,6 +243,10 @@
         r.properties['authors'] = 'C\nD'
         self.assertEqual(['C', 'D'], r.get_apparent_authors())
 
+    def test_get_apparent_authors_no_committer(self):
+        r = revision.Revision('1')
+        self.assertEqual([], r.get_apparent_authors())
+
 
 class TestRevisionBugs(TestCase):
     """Tests for getting the bugs that a revision is linked to."""




More information about the bazaar-commits mailing list