Rev 3961: (Jelmer) Implement in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Tue Jan 27 17:18:00 GMT 2009


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

------------------------------------------------------------
revno: 3961
revision-id: pqm at pqm.ubuntu.com-20090127171757-9pgye6upofwicmsc
parent: pqm at pqm.ubuntu.com-20090126181248-yl5ctbxc3y6nu9m4
parent: jelmer at samba.org-20090127161613-yt5stpfwpoploujc
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2009-01-27 17:17:57 +0000
message:
  (Jelmer) Implement
  	VirtualVersionedFiles.iter_lines_added_or_present_in_keys().
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
  bzrlib/versionedfile.py        versionedfile.py-20060222045106-5039c71ee3b65490
    ------------------------------------------------------------
    revno: 3949.4.2
    revision-id: jelmer at samba.org-20090127161613-yt5stpfwpoploujc
    parent: jelmer at samba.org-20090122010344-axad8n0ht98ajbgh
    parent: pqm at pqm.ubuntu.com-20090126181248-yl5ctbxc3y6nu9m4
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: vf-iter_lines
    timestamp: Tue 2009-01-27 17:16:13 +0100
    message:
      Merge bzr.dev.
    added:
      bzrlib/tests/branch_implementations/test_dotted_revno_to_revision_id.py test_dotted_revno_to-20090121014844-6x7d9jtri5sspg1o-1
      bzrlib/tests/branch_implementations/test_iter_merge_sorted_revisions.py test_merge_sorted_re-20090121004847-to3gvjwigstu93eh-1
      bzrlib/tests/branch_implementations/test_revision_id_to_dotted_revno.py test_revision_id_to_-20090122052032-g3czslif6sdqfkh3-1
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/branch.py               branch.py-20050309040759-e4baf4e0d046576e
      bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
      bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
      bzrlib/merge.py                merge.py-20050513021216-953b65a438527106
      bzrlib/osutils.py              osutils.py-20050309040759-eeaff12fbf77ac86
      bzrlib/progress.py             progress.py-20050610070202-df9faaab791964c0
      bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
      bzrlib/revisionspec.py         revisionspec.py-20050907152633-17567659fd5c0ddb
      bzrlib/tests/branch_implementations/__init__.py __init__.py-20060123013057-b12a52c3f361daf4
      bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
      bzrlib/tests/test_log.py       testlog.py-20050728115707-1a514809d7d49309
      bzrlib/tests/test_merge.py     testmerge.py-20050905070950-c1b5aa49ff911024
      bzrlib/tests/test_osutils.py   test_osutils.py-20051201224856-e48ee24c12182989
      bzrlib/tests/test_progress.py  test_progress.py-20060308160359-978c397bc79b7fda
      bzrlib/tests/test_ui.py        test_ui.py-20051130162854-458e667a7414af09
      bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
      bzrlib/transport/http/_pycurl.py pycurlhttp.py-20060110060940-4e2a705911af77a6
      bzrlib/transport/http/_urllib.py _urlgrabber.py-20060113083826-0bbf7d992fbf090c
      bzrlib/transport/http/response.py _response.py-20060613154423-a2ci7hd4iw5c7fnt-1
      bzrlib/ui/__init__.py          ui.py-20050824083933-8cf663c763ba53a9
      bzrlib/ui/text.py              text.py-20051130153916-2e438cffc8afc478
      doc/developers/api-versioning.txt apiversioning.txt-20070626065626-iiihgmhgkv91uphz-1
      doc/developers/plugin-api.txt  pluginapi.txt-20080229110225-q2j5y4agqhlkjn0s-1
    ------------------------------------------------------------
    revno: 3949.4.1
    revision-id: jelmer at samba.org-20090122010344-axad8n0ht98ajbgh
    parent: pqm at pqm.ubuntu.com-20090120210300-641tutf1rkdn8a3n
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: bzr.dev
    timestamp: Thu 2009-01-22 02:03:44 +0100
    message:
      Implement VirtualVersionedFiles.iter_lines_added_or_present_in_keys.
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
      bzrlib/versionedfile.py        versionedfile.py-20060222045106-5039c71ee3b65490
=== modified file 'NEWS'
--- a/NEWS	2009-01-26 18:12:48 +0000
+++ b/NEWS	2009-01-27 16:16:13 +0000
@@ -47,6 +47,10 @@
     * Rule-based preferences can now accept multiple patterns for a set of
       rules.  (Marius Kruger)
 
+    * VirtualVersionedFiles now implements
+      ``iter_lines_added_or_present_in_keys``. This allows the creation of 
+      new branches based on stacked bzr-svn branches. (#311997)
+
   BUG FIXES:
 
     * ``bzr log FILE`` now correctly shows mainline revisions merging

=== modified file 'bzrlib/tests/test_versionedfile.py'
--- a/bzrlib/tests/test_versionedfile.py	2008-12-12 14:33:13 +0000
+++ b/bzrlib/tests/test_versionedfile.py	2009-01-22 01:03:44 +0000
@@ -2222,6 +2222,14 @@
         record = it.next()
         self.assertEquals("absent", record.storage_kind)
 
+    def test_iter_lines_added_or_present_in_keys(self):
+        self._lines["A"] = ["FOO", "BAR"]
+        self._lines["B"] = ["HEY"]
+        self._lines["C"] = ["Alberta"]
+        it = self.texts.iter_lines_added_or_present_in_keys([("A",), ("B",)])
+        self.assertEquals(sorted([("FOO", "A"), ("BAR", "A"), ("HEY", "B")]), 
+            sorted(list(it)))
+
 
 class TestOrderingVersionedFilesDecorator(TestCaseWithMemoryTransport):
 

=== modified file 'bzrlib/versionedfile.py'
--- a/bzrlib/versionedfile.py	2008-12-11 03:18:52 +0000
+++ b/bzrlib/versionedfile.py	2009-01-22 01:03:44 +0000
@@ -1465,5 +1465,10 @@
             else:
                 yield AbsentContentFactory((k,))
 
-
-
+    def iter_lines_added_or_present_in_keys(self, keys, pb=None):
+        """See VersionedFile.iter_lines_added_or_present_in_versions()."""
+        for i, (key,) in enumerate(keys):
+            if pb is not None:
+                pb.update("iterating texts", i, len(keys))
+            for l in self._get_lines(key):
+                yield (l, key)




More information about the bazaar-commits mailing list