Rev 4148: NEWS conflicts. in http://people.ubuntu.com/~robertc/baz2.0/pending/repository.refresh_data

Robert Collins robertc at robertcollins.net
Mon Mar 16 05:08:33 GMT 2009


At http://people.ubuntu.com/~robertc/baz2.0/pending/repository.refresh_data

------------------------------------------------------------
revno: 4148
revision-id: robertc at robertcollins.net-20090316050819-unhkpvsvu3mzaore
parent: robertc at robertcollins.net-20090316050552-hqcgx49ugew0facc
parent: pqm at pqm.ubuntu.com-20090316041621-taek91nogxt42bfy
committer: Robert Collins <robertc at robertcollins.net>
branch nick: repository.refresh_data
timestamp: Mon 2009-03-16 16:08:19 +1100
message:
  NEWS conflicts.
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
  bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
  bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
  bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
    ------------------------------------------------------------
    revno: 4145.1.2
    revision-id: pqm at pqm.ubuntu.com-20090316041621-taek91nogxt42bfy
    parent: pqm at pqm.ubuntu.com-20090316033045-cs5dvs2r9xjmqirh
    parent: andrew.bennetts at canonical.com-20090316033534-po2sxdg6k6cr3mxf
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Mon 2009-03-16 04:16:21 +0000
    message:
      (andrew) Always batch in _walk_to_common_revisions,
      	rather than special-casing RemoteRepository.
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
        ------------------------------------------------------------
        revno: 4144.2.3
        revision-id: andrew.bennetts at canonical.com-20090316033534-po2sxdg6k6cr3mxf
        parent: andrew.bennetts at canonical.com-20090316022525-49vw2o0on4foz3u0
        parent: pqm at pqm.ubuntu.com-20090316033045-cs5dvs2r9xjmqirh
        committer: Andrew Bennetts <andrew.bennetts at canonical.com>
        branch nick: batch-walk-to-common-always
        timestamp: Mon 2009-03-16 14:35:34 +1100
        message:
          Merge from bzr.dev, resolving NEWS conflict.
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
          bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
          bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
          bzrlib/tests/test_selftest.py  test_selftest.py-20051202044319-c110a115d8c0456a
        ------------------------------------------------------------
        revno: 4144.2.2
        revision-id: andrew.bennetts at canonical.com-20090316022525-49vw2o0on4foz3u0
        parent: andrew.bennetts at canonical.com-20090316022104-ed132jdzbpwi5k3p
        committer: Andrew Bennetts <andrew.bennetts at canonical.com>
        branch nick: batch-walk-to-common-always
        timestamp: Mon 2009-03-16 13:25:25 +1100
        message:
          Add NEWS entry.
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
        ------------------------------------------------------------
        revno: 4144.2.1
        revision-id: andrew.bennetts at canonical.com-20090316022104-ed132jdzbpwi5k3p
        parent: pqm at pqm.ubuntu.com-20090313062142-ndr3o27uwgysx9dv
        committer: Andrew Bennetts <andrew.bennetts at canonical.com>
        branch nick: batch-walk-to-common-always
        timestamp: Mon 2009-03-16 13:21:04 +1100
        message:
          Always batch revisions to ask of target when doing _walk_to_common_revisions, rather than special-casing in Inter*Remote*.
        modified:
          bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
    ------------------------------------------------------------
    revno: 4145.1.1
    revision-id: pqm at pqm.ubuntu.com-20090316033045-cs5dvs2r9xjmqirh
    parent: pqm at pqm.ubuntu.com-20090316024046-58qc87pfdgu2ugok
    parent: robertc at robertcollins.net-20090313064625-ufwahhop77x1v139
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Mon 2009-03-16 03:30:45 +0000
    message:
      (robertc) Fix a regression in merge where --force was ignored.
      	(Robert Collins)
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
    ------------------------------------------------------------
    revno: 4142.1.1
    revision-id: robertc at robertcollins.net-20090313064625-ufwahhop77x1v139
    parent: pqm at pqm.ubuntu.com-20090313035623-vn0615cs6bd6590e
    committer: Robert Collins <robertc at robertcollins.net>
    branch nick: merge
    timestamp: Fri 2009-03-13 17:46:25 +1100
    message:
      Make merge --force work again.
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
=== modified file 'NEWS'
--- a/NEWS	2009-03-16 05:05:52 +0000
+++ b/NEWS	2009-03-16 05:08:19 +0000
@@ -49,6 +49,8 @@
       that prevent the use of RPC's to perform fetch, and thus allows
       optimising more operations. (Robert Collins, Andrew Bennetts)
 
+    * ``merge --force`` works again. (Robert Collins, #342105)
+
     * The GNU Changelog formatter is slightly improved in the case where
       the delta is empty, and now correctly claims not to support tags.
       (Andrea Bolognani)
@@ -81,6 +83,11 @@
       make visible data inserted into the repository by a smart server
       fetch operation. (Robert Collins, Andrew Bennetts)
 
+    * ``_walk_to_common_revisions`` will now batch up at least 50
+      revisions before calling ``get_parent_map`` on the target,
+      regardless of ``InterRepository``.
+      (Andrew Bennetts, Robert Collins)
+
 
 bzr 1.13rc1 "paraskavedekatriaphobia" 2009-03-10
 ------------------------------------------------

=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py	2009-03-13 01:27:47 +0000
+++ b/bzrlib/builtins.py	2009-03-13 06:46:25 +0000
@@ -3387,9 +3387,10 @@
             basis_tree = tree.revision_tree(tree.last_revision())
         except errors.NoSuchRevision:
             basis_tree = tree.basis_tree()
-        changes = tree.changes_from(basis_tree)
-        if changes.has_changed():
-            raise errors.UncommittedChanges(tree)
+        if not force:
+            changes = tree.changes_from(basis_tree)
+            if changes.has_changed():
+                raise errors.UncommittedChanges(tree)
 
         view_info = _get_view_info_for_change_reporter(tree)
         change_reporter = delta._ChangeReporter(

=== modified file 'bzrlib/remote.py'
--- a/bzrlib/remote.py	2009-03-16 05:05:52 +0000
+++ b/bzrlib/remote.py	2009-03-16 05:08:19 +0000
@@ -1136,7 +1136,8 @@
             raise AssertionError(
                 "fetch_spec and revision_id are mutually exclusive.")
         if self.is_in_write_group():
-            raise errors.BzrError("May not fetch while in a write group.")
+            raise errors.InternalBzrError(
+                "May not fetch while in a write group.")
         # fast path same-url fetch operations
         if self.has_same_location(source) and fetch_spec is None:
             # check that last_revision is in 'from' and then return a

=== modified file 'bzrlib/repository.py'
--- a/bzrlib/repository.py	2009-03-16 05:05:52 +0000
+++ b/bzrlib/repository.py	2009-03-16 05:08:19 +0000
@@ -1139,7 +1139,8 @@
             raise AssertionError(
                 "fetch_spec and revision_id are mutually exclusive.")
         if self.is_in_write_group():
-            raise errors.BzrError("May not fetch while in a write group.")
+            raise errors.InternalBzrError(
+                "May not fetch while in a write group.")
         # fast path same-url fetch operations
         if self.has_same_location(source) and fetch_spec is None:
             # check that last_revision is in 'from' and then return a
@@ -2617,7 +2618,7 @@
     InterRepository.get(other).method_name(parameters).
     """
 
-    _walk_to_common_revisions_batch_size = 1
+    _walk_to_common_revisions_batch_size = 50
     _optimisers = []
     """The available optimised InterRepository types."""
 
@@ -3298,8 +3299,6 @@
     calculated for (source, target._real_repository).
     """
 
-    _walk_to_common_revisions_batch_size = 50
-
     def __init__(self, source, target):
         InterRepository.__init__(self, source, target)
         self._real_inter = None
@@ -3370,8 +3369,6 @@
     uses an RPC for autopacking.
     """
 
-    _walk_to_common_revisions_batch_size = 50
-
     @staticmethod
     def is_compatible(source, target):
         from bzrlib.repofmt.pack_repo import RepositoryFormatPack

=== modified file 'bzrlib/tests/blackbox/test_merge.py'
--- a/bzrlib/tests/blackbox/test_merge.py	2009-02-27 08:37:19 +0000
+++ b/bzrlib/tests/blackbox/test_merge.py	2009-03-13 06:46:25 +0000
@@ -491,6 +491,18 @@
         out, err = self.run_bzr(['merge', '-d', 'a', 'b'])
         self.assertContainsRe(err, 'Warning: criss-cross merge encountered.')
 
+    def test_merge_force(self):
+        tree_a = self.make_branch_and_tree('a')
+        self.build_tree(['a/foo'])
+        tree_a.add(['foo'])
+        tree_a.commit('add file')
+        tree_b = tree_a.bzrdir.sprout('b').open_workingtree()
+        self.build_tree_contents([('a/foo', 'change 1')])
+        tree_a.commit('change file')
+        tree_b.merge_from_branch(tree_a.branch)
+        tree_a.commit('empty change to allow merge to run')
+        self.run_bzr(['merge', '../a', '--force'], working_dir='b')
+
     def test_merge_from_submit(self):
         tree_a = self.make_branch_and_tree('a')
         tree_b = tree_a.bzrdir.sprout('b').open_workingtree()




More information about the bazaar-commits mailing list