Rev 6027: Merge 2.4 into trunk in http://bazaar.launchpad.net/~vila/bzr/integration/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Fri Jul 15 09:22:16 UTC 2011
At http://bazaar.launchpad.net/~vila/bzr/integration/
------------------------------------------------------------
revno: 6027 [merge]
revision-id: v.ladeuil+lp at free.fr-20110715092216-etx2q5k3knsuaq6w
parent: pqm at pqm.ubuntu.com-20110715010556-ed5ksz52tkean7oa
parent: pqm at pqm.ubuntu.com-20110715091614-sc2iewzh1je8ygcg
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: trunk
timestamp: Fri 2011-07-15 11:22:16 +0200
message:
Merge 2.4 into trunk
modified:
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
doc/en/release-notes/bzr-2.3.txt NEWS-20050323055033-4e00b5db738777ff
doc/en/release-notes/bzr-2.4.txt bzr2.4.txt-20110114053217-k7ym9jfz243fddjm-1
doc/en/whats-new/whats-new-in-2.3.txt whatsnewin2.3.txt-20100818072501-x2h25r7jbnknvy30-1
-------------- next part --------------
=== modified file 'bzrlib/branch.py'
--- a/bzrlib/branch.py 2011-06-28 15:09:53 +0000
+++ b/bzrlib/branch.py 2011-07-15 08:25:00 +0000
@@ -3344,7 +3344,16 @@
if local and not bound_location:
raise errors.LocalRequiresBoundBranch()
master_branch = None
- source_is_master = (self.source.user_url == bound_location)
+ source_is_master = False
+ if bound_location:
+ # bound_location comes from a config file, some care has to be
+ # taken to relate it to source.user_url
+ normalized = urlutils.normalize_url(bound_location)
+ try:
+ relpath = self.source.user_transport.relpath(normalized)
+ source_is_master = (relpath == '')
+ except (errors.PathNotChild, errors.InvalidURL):
+ source_is_master = False
if not local and bound_location and not source_is_master:
# not pulling from master, so we need to update master.
master_branch = self.target.get_master_branch(possible_transports)
=== modified file 'bzrlib/tests/test_remote.py'
--- a/bzrlib/tests/test_remote.py 2011-06-19 17:49:43 +0000
+++ b/bzrlib/tests/test_remote.py 2011-07-15 08:25:00 +0000
@@ -3359,8 +3359,9 @@
remote_branch_url = self.smart_server.get_url() + 'remote'
remote_branch = bzrdir.BzrDir.open(remote_branch_url).open_branch()
self.hpss_calls = []
- local.repository.fetch(remote_branch.repository,
- fetch_spec=_mod_graph.EverythingResult(remote_branch.repository))
+ local.repository.fetch(
+ remote_branch.repository,
+ fetch_spec=_mod_graph.EverythingResult(remote_branch.repository))
self.assertEqual(['Repository.get_stream_1.19'], self.hpss_calls)
def override_verb(self, verb_name, verb):
@@ -3381,10 +3382,12 @@
"""A version of the Repository.get_stream_1.19 verb patched to
reject 'everything' searches the way 2.3 and earlier do.
"""
- def recreate_search(self, repository, search_bytes, discard_excess=False):
+ def recreate_search(self, repository, search_bytes,
+ discard_excess=False):
verb_log.append(search_bytes.split('\n', 1)[0])
if search_bytes == 'everything':
- return (None, request.FailedSmartServerResponse(('BadSearch',)))
+ return (None,
+ request.FailedSmartServerResponse(('BadSearch',)))
return super(OldGetStreamVerb,
self).recreate_search(repository, search_bytes,
discard_excess=discard_excess)
@@ -3395,11 +3398,31 @@
remote_branch_url = self.smart_server.get_url() + 'remote'
remote_branch = bzrdir.BzrDir.open(remote_branch_url).open_branch()
self.hpss_calls = []
- local.repository.fetch(remote_branch.repository,
- fetch_spec=_mod_graph.EverythingResult(remote_branch.repository))
+ local.repository.fetch(
+ remote_branch.repository,
+ fetch_spec=_mod_graph.EverythingResult(remote_branch.repository))
# make sure the overridden verb was used
self.assertLength(1, verb_log)
# more than one HPSS call is needed, but because it's a VFS callback
# its hard to predict exactly how many.
self.assertTrue(len(self.hpss_calls) > 1)
+
+class TestUpdateBoundBranch(tests.TestCaseWithTransport):
+
+ def test_bug_786980(self):
+ self.transport_server = test_server.SmartTCPServer_for_testing
+ wt = self.make_branch_and_tree('master')
+ checkout = wt.branch.create_checkout('checkout')
+ wt.commit('add stuff')
+ last_revid = wt.commit('even more stuff')
+ bound_location = checkout.branch.get_bound_location()
+ # For unclear reasons some users have a bound_location without a final
+ # '/', simulate that by forcing such a value
+ self.assertEndsWith(bound_location, '/')
+ new_location = bound_location.rstrip('/')
+ checkout.branch.set_bound_location(new_location)
+ # bug 786980 was raising ReadOnlyError: A write attempt was made in a
+ # read only transaction during the update()
+ checkout.update()
+ self.assertEquals(last_revid, checkout.last_revision())
=== modified file 'doc/en/release-notes/bzr-2.3.txt'
--- a/doc/en/release-notes/bzr-2.3.txt 2011-07-06 09:22:00 +0000
+++ b/doc/en/release-notes/bzr-2.3.txt 2011-07-15 08:25:00 +0000
@@ -5,11 +5,68 @@
.. toctree::
:maxdepth: 1
+bzr 2.3.5
+#########
+
+:2.3.5: NOT RELEASED YET
+
+External Compatibility Breaks
+*****************************
+
+.. These may require users to change the way they use Bazaar.
+
+New Features
+************
+
+.. New commands, options, etc that users may wish to try out.
+
+Improvements
+************
+
+.. Improvements to existing commands, especially improved performance
+ or memory usage, or better results.
+
+Bug Fixes
+*********
+
+.. Fixes for situations where bzr would previously crash or give incorrect
+ or undesirable results.
+
+Documentation
+*************
+
+.. Improved or updated documentation.
+
+API Changes
+***********
+
+.. Changes that may require updates in plugins or other code that uses
+ bzrlib.
+
+Internals
+*********
+
+.. Major internal changes, unlikely to be visible to users or plugin
+ developers, but interesting for bzr developers.
+
+Testing
+*******
+
+.. Fixes and changes that are only relevant to bzr's test framework and
+ suite. This can include new facilities for writing tests, fixes to
+ spurious test failures and changes to the way things should be tested.
+
+
bzr 2.3.4
#########
:Codename: One and counting
-:2.3.4: NOT RELEASED YET
+:2.3.4: 2011-07-14
+
+This is a bugfix release. Upgrading is recommended for all users of earlier
+2.3 releases.
+
+This mainly fixes bug #786980 which blocked the SRU process for Ubuntu Natty.
External Compatibility Breaks
*****************************
@@ -33,6 +90,10 @@
.. Fixes for situations where bzr would previously crash or give incorrect
or undesirable results.
+* Accept some differences for ``bound_location`` from the config files that
+ were leading to a 'ReadOnlyError: A write attempt was made in a read only
+ transaction' error. (Vincent Ladeuil, #786980)
+
* Don't fail with traceback if `bzr serve` is running as a service on Windows,
and there is no USERNAME, nor BZR_EMAIL or other whoami-related environment
variables set. (Alexander Belchenko, Bug #660174)
@@ -44,7 +105,7 @@
* Updated the "Using stacked branches" section of the user guide to
describe committing to stacked branches and expanded its discussion of
- pushing a stcked branch. (Andrew Bennetts)
+ pushing a stacked branch. (Andrew Bennetts)
API Changes
***********
=== modified file 'doc/en/release-notes/bzr-2.4.txt'
--- a/doc/en/release-notes/bzr-2.4.txt 2011-07-14 22:14:52 +0000
+++ b/doc/en/release-notes/bzr-2.4.txt 2011-07-15 09:22:16 +0000
@@ -58,6 +58,20 @@
suite. This can include new facilities for writing tests, fixes to
spurious test failures and changes to the way things should be tested.
+* `BranchBuilder.build_snapshot` now supports a "flush" action. This
+ cleanly and reliably allows tests using `BranchBuilder` to construct
+ branches that e.g. rename files out of a directory and unversion that
+ directory in the same revision. Previously some changes were impossible
+ due to the order that `build_snapshot` performs its actions.
+ (Andrew Bennetts)
+
+* `TestCaseWithMemoryTransport` is faster now: `_check_safety_net` now
+ just compares the bytes in the dirstate file to its pristine state,
+ rather than opening the WorkingTree and calling ``last_revision()``.
+ This reduces the overall test suite time by about 10% on my laptop.
+ (Andrew Bennetts)
+
+
bzr 2.4b5
#########
=== modified file 'doc/en/whats-new/whats-new-in-2.3.txt'
--- a/doc/en/whats-new/whats-new-in-2.3.txt 2011-05-13 13:11:27 +0000
+++ b/doc/en/whats-new/whats-new-in-2.3.txt 2011-07-15 08:25:00 +0000
@@ -25,6 +25,8 @@
Bazaar 2.3.3 is a bugfix release including the fixes in 2.3.2 and
fixing the test helpers deprecated by python-2.7.
+Bazaar 2.3.4 is a bugfix release.
+
See the :doc:`../release-notes/index` for details.
Bazaar 2.3 is fully compatible both locally and on the network with 2.0, 2.1,
More information about the bazaar-commits
mailing list