Merge lp:~vila/bzr/583667-lp-no-edge into lp:bzr/2.0

Proposed by Vincent Ladeuil
Status: Merged
Approved by: Vincent Ladeuil
Approved revision: no longer in the source branch.
Merged at revision: 4764
Proposed branch: lp:~vila/bzr/583667-lp-no-edge
Merge into: lp:bzr/2.0
Diff against target: 484 lines (+49/-56)
26 files modified
NEWS (+9/-1)
bzrlib/lockdir.py (+1/-1)
bzrlib/plugins/launchpad/__init__.py (+1/-1)
bzrlib/plugins/launchpad/lp_registration.py (+3/-6)
bzrlib/plugins/launchpad/test_lp_directory.py (+1/-1)
bzrlib/plugins/launchpad/test_lp_open.py (+4/-4)
bzrlib/plugins/launchpad/test_lp_service.py (+2/-14)
bzrlib/plugins/launchpad/test_register.py (+4/-4)
bzrlib/reconcile.py (+1/-1)
bzrlib/remote.py (+1/-1)
bzrlib/repository.py (+1/-1)
bzrlib/tests/__init__.py (+1/-1)
bzrlib/tests/blackbox/test_branch.py (+1/-1)
bzrlib/tests/blackbox/test_checkout.py (+1/-1)
bzrlib/tests/blackbox/test_commit.py (+1/-1)
bzrlib/tests/blackbox/test_merge.py (+1/-1)
bzrlib/tests/blackbox/test_reconfigure.py (+1/-1)
bzrlib/tests/per_tree/test_inv.py (+1/-1)
bzrlib/tests/per_workingtree/test_content_filters.py (+1/-1)
bzrlib/tests/test_errors.py (+1/-1)
bzrlib/tests/test_lockdir.py (+2/-2)
bzrlib/tests/test_osutils.py (+1/-1)
bzrlib/tests/test_remote.py (+1/-1)
bzrlib/tests/test_ui.py (+2/-2)
bzrlib/workingtree_4.py (+4/-4)
setup.py (+2/-2)
To merge this branch: bzr merge lp:~vila/bzr/583667-lp-no-edge
Reviewer Review Type Date Requested Status
Martin Pool Needs Fixing
Review via email: mp+41958@code.launchpad.net

Commit message

Get rid of edge.launchpad.net references.

Description of the change

The ``edge.launchpad.net`` server is about to be/has been
deprecated. ``bzr`` is currently relying on it to transparently
resolve access to the edge or production servers. This is not
true anymore and instead we are now advised to to the opposite.

So this path fixes bug #583667 by removing all references to the
edge servers.

There are three parts:
* Fix a typo in a comment mentionning BZR_LP_XMLRPC_URL since
  that's how I started working on this bug.
* Totally delete all references to edge in the launchpad plugin
  and the corresponding tests.
* Fix all comments where bugs.edge.launchpad.net was used.

Code-wise, the relevant changes are in:
 bzrlib/plugins/launchpad/__init__.py
 bzrlib/plugins/launchpad/lp_registration.py

And for the tests in:
 bzrlib/plugins/launchpad/test_lp_directory.py
 bzrlib/plugins/launchpad/test_lp_open.py
 bzrlib/plugins/launchpad/test_lp_service.py
 bzrlib/plugins/launchpad/test_register.py

The other modifications are only in comments and don't need a
careful review.

I plan to merge this up in the other stable branches taking care
of conflicts and ensuring no other references were introduced.

To post a comment you must log in.
Revision history for this message
Robert Collins (lifeless) wrote :

I also see these references to edge:

./bzrlib/plugins/launchpad/lp_api.py: EDGE_SERVICE_ROOT,
./bzrlib/plugins/launchpad/lp_api.py: 'edge': EDGE_SERVICE_ROOT,
./bzrlib/plugins/launchpad/lp_api.py:
launchpadlib.launchpad.EDGE_SERVICE_ROOT.

Revision history for this message
Vincent Ladeuil (vila) wrote :

Thanks, but they are not in 2.0, I'm taking care of them while walking up to 2.3 (these one are in 2.1).

Revision history for this message
Martin Pool (mbp) wrote :

+* The ``edge.launchpad.net`` server has been deprecated and all references to
+ it have been removed from the code base. This ensures that users upgrading
+ to bzr 2.0.7 or better will never try to contact the 'edge' server. Users of
+ previous versions can workaround connection problems by setting the
+ ``BZR_LP_XMLRPC_URL`` environment variable to
+ ``http://xmlrpc.launchpad.net/bazaar/``. (Vincent Ladeuil, #583667)

I think the news entry should also link to the blog post explaining why we have to do this, for the sake of people justifying SRUs at least. (I realize you can reach it from the bug number but let's make it clear.)

The first sentence makes it sound like the server was deprecated in bzr.

  Launchpad has announced that the edge.launchpad.net instance is deprecated and may be shut down in the future <http://blog.launchpad.net/general/edge-is-deprecated>. Bazaar has therefore been updated in this release to talk to the main ('lpnet') servers, rather than edge.

I don't think that setting BZR_LP_XMLRPC_URL will be enough, because at least in later bzr releases we also use launchpadlib to talk to REST APIs.

I don't think there is a whatsnew in 2.0 but for series that have one we should mention this there too.

The code changes look ok to me.

review: Needs Fixing
Revision history for this message
Martin Pool (mbp) wrote :

> I also see these references to edge:
>
> ./bzrlib/plugins/launchpad/lp_api.py: EDGE_SERVICE_ROOT,
> ./bzrlib/plugins/launchpad/lp_api.py: 'edge': EDGE_SERVICE_ROOT,
> ./bzrlib/plugins/launchpad/lp_api.py:
> launchpadlib.launchpad.EDGE_SERVICE_ROOT.

Those just let you ask for edge if you want it. At least for the sake of developers we might as well keep them until edge is expunged from reality.

(Perhaps instead lplib should read an environment variable? bzr doesn't really need this code.)

Revision history for this message
Martin Packman (gz) wrote :

This looks like it has considerable overlap with lp:~gz/bzr/use_production_launchpad_581670 which is on trunk already so merging up may be a little interesting. I take it whatever broke lp-propose with production is long-since fixed?

Revision history for this message
Vincent Ladeuil (vila) wrote :

@Martin [gz]: yes, there is some overlap, but the merge went pretty darn well ;)

I hope what broke lp-propose has been fixed, but we'll hear about it soon enough. Anyway, I'll make different mps for 2.1, 2.2 and trunk to ensure we could discuss about relevant problems in relevant mps, lp-propose doesn't exist in 2.0, it has been introduced in 2.2.

@poolie: same goes for lp_api, introduced in 2.1

So I'll land this one for 2.0 first with the NEWS entry tweaked.

Revision history for this message
Vincent Ladeuil (vila) wrote :

> Those just let you ask for edge if you want it. At least for the sake of
> developers we might as well keep them until edge is expunged from reality.
>
> (Perhaps instead lplib should read an environment variable? bzr doesn't
> really need this code.)

Yup, I don't think bzr has to care about this corner case.

Revision history for this message
Vincent Ladeuil (vila) wrote :

sent to pqm by email

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'NEWS'
--- NEWS 2010-10-08 09:10:20 +0000
+++ NEWS 2010-11-30 16:04:22 +0000
@@ -13,6 +13,14 @@
13Compatibility Breaks13Compatibility Breaks
14********************14********************
1515
16* Launchpad has announced that the ``edge.launchpad.net`` instance is
17 deprecated and may be shut down in the future
18 <http://blog.launchpad.net/general/edge-is-deprecated>. Bazaar has therefore
19 been updated in this release to talk to the main (``launchpad.net``) servers,
20 rather than the ``edge`` ones. Users of previous versions can workaround
21 connection problems by setting the ``BZR_LP_XMLRPC_URL`` environment variable
22 to ``http://xmlrpc.launchpad.net/bazaar/``. (Vincent Ladeuil, #583667)
23
16New Features24New Features
17************25************
1826
@@ -923,7 +931,7 @@
923 931
924* The ``--hardlink`` option to ``branch`` and ``checkout`` is not932* The ``--hardlink`` option to ``branch`` and ``checkout`` is not
925 supported at the moment on workingtree formats that can do content933 supported at the moment on workingtree formats that can do content
926 filtering. (See <https://bugs.edge.launchpad.net/bzr/+bug/408193>.)934 filtering. (See <https://bugs.launchpad.net/bzr/+bug/408193>.)
927 bzr now says so, rather than just ignoring the option. (Martin Pool)935 bzr now says so, rather than just ignoring the option. (Martin Pool)
928936
929* There was a bug in ``osutils.relpath`` that was only triggered on937* There was a bug in ``osutils.relpath`` that was only triggered on
930938
=== modified file 'bzrlib/lockdir.py'
--- bzrlib/lockdir.py 2010-09-06 06:13:52 +0000
+++ bzrlib/lockdir.py 2010-11-30 16:04:22 +0000
@@ -242,7 +242,7 @@
242 # have a similar bug allowing someone to think they got the lock242 # have a similar bug allowing someone to think they got the lock
243 # when it's already held.243 # when it's already held.
244 #244 #
245 # See <https://bugs.edge.launchpad.net/bzr/+bug/498378> for one case.245 # See <https://bugs.launchpad.net/bzr/+bug/498378> for one case.
246 #246 #
247 # Strictly the check is unnecessary and a waste of time for most247 # Strictly the check is unnecessary and a waste of time for most
248 # people, but probably worth trapping if something is wrong.248 # people, but probably worth trapping if something is wrong.
249249
=== modified file 'bzrlib/plugins/launchpad/__init__.py'
--- bzrlib/plugins/launchpad/__init__.py 2009-07-06 13:00:23 +0000
+++ bzrlib/plugins/launchpad/__init__.py 2010-11-30 16:04:22 +0000
@@ -17,7 +17,7 @@
17"""Launchpad.net integration plugin for Bazaar."""17"""Launchpad.net integration plugin for Bazaar."""
1818
19# The XMLRPC server address can be overridden by setting the environment19# The XMLRPC server address can be overridden by setting the environment
20# variable $BZR_LP_XMLRPL_URL20# variable $BZR_LP_XMLRPC_URL
2121
22# see http://bazaar-vcs.org/Specs/BranchRegistrationTool22# see http://bazaar-vcs.org/Specs/BranchRegistrationTool
2323
2424
=== modified file 'bzrlib/plugins/launchpad/lp_registration.py'
--- bzrlib/plugins/launchpad/lp_registration.py 2009-07-04 16:22:16 +0000
+++ bzrlib/plugins/launchpad/lp_registration.py 2010-11-30 16:04:22 +0000
@@ -61,7 +61,6 @@
6161
62 LAUNCHPAD_DOMAINS = {62 LAUNCHPAD_DOMAINS = {
63 'production': 'launchpad.net',63 'production': 'launchpad.net',
64 'edge': 'edge.launchpad.net',
65 'staging': 'staging.launchpad.net',64 'staging': 'staging.launchpad.net',
66 'demo': 'demo.launchpad.net',65 'demo': 'demo.launchpad.net',
67 'dev': 'launchpad.dev',66 'dev': 'launchpad.dev',
@@ -73,11 +72,9 @@
73 for instance, domain in LAUNCHPAD_DOMAINS.iteritems():72 for instance, domain in LAUNCHPAD_DOMAINS.iteritems():
74 LAUNCHPAD_INSTANCE[instance] = 'https://xmlrpc.%s/bazaar/' % domain73 LAUNCHPAD_INSTANCE[instance] = 'https://xmlrpc.%s/bazaar/' % domain
7574
76 # We use edge as the default because:75 # We use production as the default because edge has been deprecated circa
77 # Beta users get redirected to it76 # 2010-11 (see bug https://bugs.launchpad.net/bzr/+bug/583667)
78 # All users can use it77 DEFAULT_INSTANCE = 'production'
79 # There is a bug in the launchpad side where redirection causes an OOPS.
80 DEFAULT_INSTANCE = 'edge'
81 DEFAULT_SERVICE_URL = LAUNCHPAD_INSTANCE[DEFAULT_INSTANCE]78 DEFAULT_SERVICE_URL = LAUNCHPAD_INSTANCE[DEFAULT_INSTANCE]
8279
83 transport = None80 transport = None
8481
=== modified file 'bzrlib/plugins/launchpad/test_lp_directory.py'
--- bzrlib/plugins/launchpad/test_lp_directory.py 2009-03-23 14:59:43 +0000
+++ bzrlib/plugins/launchpad/test_lp_directory.py 2010-11-30 16:04:22 +0000
@@ -61,7 +61,7 @@
61 self.assertEquals('http://bazaar.launchpad.net/~apt/apt/devel',61 self.assertEquals('http://bazaar.launchpad.net/~apt/apt/devel',
62 directory._resolve('lp:apt', factory))62 directory._resolve('lp:apt', factory))
63 # Make sure that resolve went to the production server.63 # Make sure that resolve went to the production server.
64 self.assertEquals('https://xmlrpc.edge.launchpad.net/bazaar/',64 self.assertEquals('https://xmlrpc.launchpad.net/bazaar/',
65 factory._service_url)65 factory._service_url)
6666
67 def test_staging(self):67 def test_staging(self):
6868
=== modified file 'bzrlib/plugins/launchpad/test_lp_open.py'
--- bzrlib/plugins/launchpad/test_lp_open.py 2009-03-23 14:59:43 +0000
+++ bzrlib/plugins/launchpad/test_lp_open.py 2010-11-30 16:04:22 +0000
@@ -53,7 +53,7 @@
53 branch.set_public_branch(53 branch.set_public_branch(
54 'bzr+ssh://bazaar.launchpad.net/~foo/bar/baz')54 'bzr+ssh://bazaar.launchpad.net/~foo/bar/baz')
55 self.assertEqual(55 self.assertEqual(
56 ['Opening https://code.edge.launchpad.net/~foo/bar/baz in web '56 ['Opening https://code.launchpad.net/~foo/bar/baz in web '
57 'browser'],57 'browser'],
58 self.run_open('lp'))58 self.run_open('lp'))
5959
@@ -64,7 +64,7 @@
64 branch.set_push_location(64 branch.set_push_location(
65 'bzr+ssh://bazaar.launchpad.net/~foo/bar/push')65 'bzr+ssh://bazaar.launchpad.net/~foo/bar/push')
66 self.assertEqual(66 self.assertEqual(
67 ['Opening https://code.edge.launchpad.net/~foo/bar/public in web '67 ['Opening https://code.launchpad.net/~foo/bar/public in web '
68 'browser'],68 'browser'],
69 self.run_open('lp'))69 self.run_open('lp'))
7070
@@ -75,7 +75,7 @@
75 branch.set_push_location(75 branch.set_push_location(
76 'bzr+ssh://bazaar.launchpad.net/~foo/bar/baz')76 'bzr+ssh://bazaar.launchpad.net/~foo/bar/baz')
77 self.assertEqual(77 self.assertEqual(
78 ['Opening https://code.edge.launchpad.net/~foo/bar/baz in web '78 ['Opening https://code.launchpad.net/~foo/bar/baz in web '
79 'browser'],79 'browser'],
80 self.run_open('lp'))80 self.run_open('lp'))
8181
@@ -84,6 +84,6 @@
84 # location and no push location, then just try to look up the84 # location and no push location, then just try to look up the
85 # Launchpad page for that URL.85 # Launchpad page for that URL.
86 self.assertEqual(86 self.assertEqual(
87 ['Opening https://code.edge.launchpad.net/~foo/bar/baz in web '87 ['Opening https://code.launchpad.net/~foo/bar/baz in web '
88 'browser'],88 'browser'],
89 self.run_open('bzr+ssh://bazaar.launchpad.net/~foo/bar/baz'))89 self.run_open('bzr+ssh://bazaar.launchpad.net/~foo/bar/baz'))
9090
=== modified file 'bzrlib/plugins/launchpad/test_lp_service.py'
--- bzrlib/plugins/launchpad/test_lp_service.py 2009-03-23 14:59:43 +0000
+++ bzrlib/plugins/launchpad/test_lp_service.py 2010-11-30 16:04:22 +0000
@@ -54,11 +54,6 @@
54 self.assertEqual('https://xmlrpc.staging.launchpad.net/bazaar/',54 self.assertEqual('https://xmlrpc.staging.launchpad.net/bazaar/',
55 service.service_url)55 service.service_url)
5656
57 def test_edge_service(self):
58 service = LaunchpadService(lp_instance='edge')
59 self.assertEqual('https://xmlrpc.edge.launchpad.net/bazaar/',
60 service.service_url)
61
62 def test_dev_service(self):57 def test_dev_service(self):
63 service = LaunchpadService(lp_instance='dev')58 service = LaunchpadService(lp_instance='dev')
64 self.assertEqual('https://xmlrpc.launchpad.dev/bazaar/',59 self.assertEqual('https://xmlrpc.launchpad.dev/bazaar/',
@@ -97,7 +92,7 @@
97 web_url = service.get_web_url_from_branch_url(92 web_url = service.get_web_url_from_branch_url(
98 'bzr+ssh://bazaar.launchpad.net/~foo/bar/baz')93 'bzr+ssh://bazaar.launchpad.net/~foo/bar/baz')
99 self.assertEqual(94 self.assertEqual(
100 'https://code.edge.launchpad.net/~foo/bar/baz', web_url)95 'https://code.launchpad.net/~foo/bar/baz', web_url)
10196
102 def test_product_bzr_ssh_url(self):97 def test_product_bzr_ssh_url(self):
103 service = LaunchpadService(lp_instance='production')98 service = LaunchpadService(lp_instance='production')
@@ -152,7 +147,7 @@
152 dict(urls=['http://bazaar.launchpad.net/~foo/bar/baz']))147 dict(urls=['http://bazaar.launchpad.net/~foo/bar/baz']))
153 web_url = service.get_web_url_from_branch_url('lp:foo', factory)148 web_url = service.get_web_url_from_branch_url('lp:foo', factory)
154 self.assertEqual(149 self.assertEqual(
155 'https://code.edge.launchpad.net/~foo/bar/baz', web_url)150 'https://code.launchpad.net/~foo/bar/baz', web_url)
156151
157 def test_lp_branch_fault(self):152 def test_lp_branch_fault(self):
158 service = LaunchpadService()153 service = LaunchpadService()
@@ -171,13 +166,6 @@
171 self.assertEqual(166 self.assertEqual(
172 'https://code.staging.launchpad.net/~foo/bar/baz', web_url)167 'https://code.staging.launchpad.net/~foo/bar/baz', web_url)
173168
174 def test_edge_url(self):
175 service = LaunchpadService(lp_instance='edge')
176 web_url = service.get_web_url_from_branch_url(
177 'bzr+ssh://bazaar.launchpad.net/~foo/bar/baz')
178 self.assertEqual(
179 'https://code.edge.launchpad.net/~foo/bar/baz', web_url)
180
181 def test_dev_url(self):169 def test_dev_url(self):
182 service = LaunchpadService(lp_instance='dev')170 service = LaunchpadService(lp_instance='dev')
183 web_url = service.get_web_url_from_branch_url(171 web_url = service.get_web_url_from_branch_url(
184172
=== modified file 'bzrlib/plugins/launchpad/test_register.py'
--- bzrlib/plugins/launchpad/test_register.py 2009-06-10 03:56:49 +0000
+++ bzrlib/plugins/launchpad/test_register.py 2010-11-30 16:04:22 +0000
@@ -175,7 +175,7 @@
175 self.assertEquals(out, 'Branch registered.\n')175 self.assertEquals(out, 'Branch registered.\n')
176176
177 def test_onto_transport(self):177 def test_onto_transport(self):
178 """Test how the request is sent by transmitting across a mock Transport"""178 """How the request is sent by transmitting across a mock Transport"""
179 # use a real transport, but intercept at the http/xml layer179 # use a real transport, but intercept at the http/xml layer
180 transport = InstrumentedXMLRPCTransport(self, expect_auth=True)180 transport = InstrumentedXMLRPCTransport(self, expect_auth=True)
181 service = LaunchpadService(transport)181 service = LaunchpadService(transport)
@@ -188,7 +188,7 @@
188 'author@launchpad.net',188 'author@launchpad.net',
189 'product')189 'product')
190 rego.submit(service)190 rego.submit(service)
191 self.assertEquals(transport.connected_host, 'xmlrpc.edge.launchpad.net')191 self.assertEquals(transport.connected_host, 'xmlrpc.launchpad.net')
192 self.assertEquals(len(transport.sent_params), 6)192 self.assertEquals(len(transport.sent_params), 6)
193 self.assertEquals(transport.sent_params,193 self.assertEquals(transport.sent_params,
194 ('http://test-server.com/bzr/branch', # branch_url194 ('http://test-server.com/bzr/branch', # branch_url
@@ -200,12 +200,12 @@
200 self.assertTrue(transport.got_request)200 self.assertTrue(transport.got_request)
201201
202 def test_onto_transport_unauthenticated(self):202 def test_onto_transport_unauthenticated(self):
203 """Test how an unauthenticated request is transmitted across a mock Transport"""203 """An unauthenticated request is transmitted across a mock Transport"""
204 transport = InstrumentedXMLRPCTransport(self, expect_auth=False)204 transport = InstrumentedXMLRPCTransport(self, expect_auth=False)
205 service = LaunchpadService(transport)205 service = LaunchpadService(transport)
206 resolve = ResolveLaunchpadPathRequest('bzr')206 resolve = ResolveLaunchpadPathRequest('bzr')
207 resolve.submit(service)207 resolve.submit(service)
208 self.assertEquals(transport.connected_host, 'xmlrpc.edge.launchpad.net')208 self.assertEquals(transport.connected_host, 'xmlrpc.launchpad.net')
209 self.assertEquals(len(transport.sent_params), 1)209 self.assertEquals(len(transport.sent_params), 1)
210 self.assertEquals(transport.sent_params, ('bzr', ))210 self.assertEquals(transport.sent_params, ('bzr', ))
211 self.assertTrue(transport.got_request)211 self.assertTrue(transport.got_request)
212212
=== modified file 'bzrlib/reconcile.py'
--- bzrlib/reconcile.py 2009-07-31 22:48:55 +0000
+++ bzrlib/reconcile.py 2010-11-30 16:04:22 +0000
@@ -494,7 +494,7 @@
494 # - lock the names list494 # - lock the names list
495 # - perform a customised pack() that regenerates data as needed495 # - perform a customised pack() that regenerates data as needed
496 # - unlock the names list496 # - unlock the names list
497 # https://bugs.edge.launchpad.net/bzr/+bug/154173497 # https://bugs.launchpad.net/bzr/+bug/154173
498498
499 def _reconcile_steps(self):499 def _reconcile_steps(self):
500 """Perform the steps to reconcile this repository."""500 """Perform the steps to reconcile this repository."""
501501
=== modified file 'bzrlib/remote.py'
--- bzrlib/remote.py 2010-04-23 05:30:32 +0000
+++ bzrlib/remote.py 2010-11-30 16:04:22 +0000
@@ -824,7 +824,7 @@
824 def _has_same_fallbacks(self, other_repo):824 def _has_same_fallbacks(self, other_repo):
825 """Returns true if the repositories have the same fallbacks."""825 """Returns true if the repositories have the same fallbacks."""
826 # XXX: copied from Repository; it should be unified into a base class826 # XXX: copied from Repository; it should be unified into a base class
827 # <https://bugs.edge.launchpad.net/bzr/+bug/401622>827 # <https://bugs.launchpad.net/bzr/+bug/401622>
828 my_fb = self._fallback_repositories828 my_fb = self._fallback_repositories
829 other_fb = other_repo._fallback_repositories829 other_fb = other_repo._fallback_repositories
830 if len(my_fb) != len(other_fb):830 if len(my_fb) != len(other_fb):
831831
=== modified file 'bzrlib/repository.py'
--- bzrlib/repository.py 2010-02-25 04:31:05 +0000
+++ bzrlib/repository.py 2010-11-30 16:04:22 +0000
@@ -1678,7 +1678,7 @@
1678 "May not fetch while in a write group.")1678 "May not fetch while in a write group.")
1679 # fast path same-url fetch operations1679 # fast path same-url fetch operations
1680 # TODO: lift out to somewhere common with RemoteRepository1680 # TODO: lift out to somewhere common with RemoteRepository
1681 # <https://bugs.edge.launchpad.net/bzr/+bug/401646>1681 # <https://bugs.launchpad.net/bzr/+bug/401646>
1682 if (self.has_same_location(source)1682 if (self.has_same_location(source)
1683 and fetch_spec is None1683 and fetch_spec is None
1684 and self._has_same_fallbacks(source)):1684 and self._has_same_fallbacks(source)):
16851685
=== modified file 'bzrlib/tests/__init__.py'
--- bzrlib/tests/__init__.py 2010-07-16 13:06:04 +0000
+++ bzrlib/tests/__init__.py 2010-11-30 16:04:22 +0000
@@ -755,7 +755,7 @@
755 # XXX: Should probably unify more with CannedInputUIFactory or a755 # XXX: Should probably unify more with CannedInputUIFactory or a
756 # particular configuration of TextUIFactory, or otherwise have a clearer756 # particular configuration of TextUIFactory, or otherwise have a clearer
757 # idea of how they're supposed to be different.757 # idea of how they're supposed to be different.
758 # See https://bugs.edge.launchpad.net/bzr/+bug/408213758 # See https://bugs.launchpad.net/bzr/+bug/408213
759759
760 def __init__(self, stdout=None, stderr=None, stdin=None):760 def __init__(self, stdout=None, stderr=None, stdin=None):
761 if stdin is not None:761 if stdin is not None:
762762
=== modified file 'bzrlib/tests/blackbox/test_branch.py'
--- bzrlib/tests/blackbox/test_branch.py 2010-02-24 08:03:07 +0000
+++ bzrlib/tests/blackbox/test_branch.py 2010-11-30 16:04:22 +0000
@@ -175,7 +175,7 @@
175 if same_file:175 if same_file:
176 pass176 pass
177 else:177 else:
178 # https://bugs.edge.launchpad.net/bzr/+bug/408193178 # https://bugs.launchpad.net/bzr/+bug/408193
179 self.assertContainsRe(err, "hardlinking working copy files is "179 self.assertContainsRe(err, "hardlinking working copy files is "
180 "not currently supported")180 "not currently supported")
181 raise KnownFailure("--hardlink doesn't work in formats "181 raise KnownFailure("--hardlink doesn't work in formats "
182182
=== modified file 'bzrlib/tests/blackbox/test_checkout.py'
--- bzrlib/tests/blackbox/test_checkout.py 2009-08-03 04:19:03 +0000
+++ bzrlib/tests/blackbox/test_checkout.py 2010-11-30 16:04:22 +0000
@@ -164,7 +164,7 @@
164 if same_file:164 if same_file:
165 pass165 pass
166 else:166 else:
167 # https://bugs.edge.launchpad.net/bzr/+bug/408193167 # https://bugs.launchpad.net/bzr/+bug/408193
168 self.assertContainsRe(err, "hardlinking working copy files is "168 self.assertContainsRe(err, "hardlinking working copy files is "
169 "not currently supported")169 "not currently supported")
170 raise KnownFailure("--hardlink doesn't work in formats "170 raise KnownFailure("--hardlink doesn't work in formats "
171171
=== modified file 'bzrlib/tests/blackbox/test_commit.py'
--- bzrlib/tests/blackbox/test_commit.py 2009-08-26 03:20:32 +0000
+++ bzrlib/tests/blackbox/test_commit.py 2010-11-30 16:04:22 +0000
@@ -608,7 +608,7 @@
608 self.assertContainsRe(err, r'modified test\nCommitted revision 2.')608 self.assertContainsRe(err, r'modified test\nCommitted revision 2.')
609609
610 def test_commit_readonly_checkout(self):610 def test_commit_readonly_checkout(self):
611 # https://bugs.edge.launchpad.net/bzr/+bug/129701611 # https://bugs.launchpad.net/bzr/+bug/129701
612 # "UnlockableTransport error trying to commit in checkout of readonly612 # "UnlockableTransport error trying to commit in checkout of readonly
613 # branch"613 # branch"
614 self.make_branch('master')614 self.make_branch('master')
615615
=== modified file 'bzrlib/tests/blackbox/test_merge.py'
--- bzrlib/tests/blackbox/test_merge.py 2009-08-06 06:58:09 +0000
+++ bzrlib/tests/blackbox/test_merge.py 2010-11-30 16:04:22 +0000
@@ -375,7 +375,7 @@
375 def test_directive_cherrypick(self):375 def test_directive_cherrypick(self):
376 source = self.make_branch_and_tree('source')376 source = self.make_branch_and_tree('source')
377 source.commit("nothing")377 source.commit("nothing")
378 # see https://bugs.edge.launchpad.net/bzr/+bug/409688 - trying to378 # see https://bugs.launchpad.net/bzr/+bug/409688 - trying to
379 # cherrypick from one branch into another unrelated branch with a379 # cherrypick from one branch into another unrelated branch with a
380 # different root id will give shape conflicts. as a workaround we380 # different root id will give shape conflicts. as a workaround we
381 # make sure they share the same root id.381 # make sure they share the same root id.
382382
=== modified file 'bzrlib/tests/blackbox/test_reconfigure.py'
--- bzrlib/tests/blackbox/test_reconfigure.py 2009-07-10 08:18:28 +0000
+++ bzrlib/tests/blackbox/test_reconfigure.py 2010-11-30 16:04:22 +0000
@@ -197,7 +197,7 @@
197 * then make the second unstacked, so it has to fill in history from197 * then make the second unstacked, so it has to fill in history from
198 the original fallback lying underneath its original content198 the original fallback lying underneath its original content
199199
200 See discussion in <https://bugs.edge.launchpad.net/bzr/+bug/391411>200 See discussion in <https://bugs.launchpad.net/bzr/+bug/391411>
201 """201 """
202 # there are also per_branch tests that exercise remote operation etc202 # there are also per_branch tests that exercise remote operation etc
203 tree_1 = self.make_branch_and_tree('b1', format='2a')203 tree_1 = self.make_branch_and_tree('b1', format='2a')
204204
=== modified file 'bzrlib/tests/per_tree/test_inv.py'
--- bzrlib/tests/per_tree/test_inv.py 2010-02-12 03:33:36 +0000
+++ bzrlib/tests/per_tree/test_inv.py 2010-11-30 16:04:22 +0000
@@ -170,7 +170,7 @@
170 work_tree.get_canonical_inventory_path('Dir/None'))170 work_tree.get_canonical_inventory_path('Dir/None'))
171171
172 def test_canonical_tree_name_mismatch(self):172 def test_canonical_tree_name_mismatch(self):
173 # see <https://bugs.edge.launchpad.net/bzr/+bug/368931>173 # see <https://bugs.launchpad.net/bzr/+bug/368931>
174 # some of the trees we want to use can only exist on a disk, not in174 # some of the trees we want to use can only exist on a disk, not in
175 # memory - therefore we can only test this if the filesystem is175 # memory - therefore we can only test this if the filesystem is
176 # case-sensitive.176 # case-sensitive.
177177
=== modified file 'bzrlib/tests/per_workingtree/test_content_filters.py'
--- bzrlib/tests/per_workingtree/test_content_filters.py 2009-10-28 23:34:13 +0000
+++ bzrlib/tests/per_workingtree/test_content_filters.py 2010-11-30 16:04:22 +0000
@@ -227,7 +227,7 @@
227227
228 def test_path_content_summary(self):228 def test_path_content_summary(self):
229 """path_content_summary should always talk about the canonical form."""229 """path_content_summary should always talk about the canonical form."""
230 # see https://bugs.edge.launchpad.net/bzr/+bug/415508230 # see https://bugs.launchpad.net/bzr/+bug/415508
231 #231 #
232 # set up a tree where the canonical form has a string added to the232 # set up a tree where the canonical form has a string added to the
233 # end233 # end
234234
=== modified file 'bzrlib/tests/test_errors.py'
--- bzrlib/tests/test_errors.py 2010-09-06 06:13:52 +0000
+++ bzrlib/tests/test_errors.py 2010-11-30 16:04:22 +0000
@@ -678,7 +678,7 @@
678 str(e), 'Unprintable exception ErrorWithBadFormat')678 str(e), 'Unprintable exception ErrorWithBadFormat')
679679
680 def test_cannot_bind_address(self):680 def test_cannot_bind_address(self):
681 # see <https://bugs.edge.launchpad.net/bzr/+bug/286871>681 # see <https://bugs.launchpad.net/bzr/+bug/286871>
682 e = errors.CannotBindAddress('example.com', 22,682 e = errors.CannotBindAddress('example.com', 22,
683 socket.error(13, 'Permission denied'))683 socket.error(13, 'Permission denied'))
684 self.assertContainsRe(str(e),684 self.assertContainsRe(str(e),
685685
=== modified file 'bzrlib/tests/test_lockdir.py'
--- bzrlib/tests/test_lockdir.py 2010-09-06 06:13:52 +0000
+++ bzrlib/tests/test_lockdir.py 2010-11-30 16:04:22 +0000
@@ -728,7 +728,7 @@
728 def test_no_lockdir_info(self):728 def test_no_lockdir_info(self):
729 """We can cope with empty info files."""729 """We can cope with empty info files."""
730 # This seems like a fairly common failure case - see730 # This seems like a fairly common failure case - see
731 # <https://bugs.edge.launchpad.net/bzr/+bug/185103> and all its dupes.731 # <https://bugs.launchpad.net/bzr/+bug/185103> and all its dupes.
732 # Processes are often interrupted after opening the file732 # Processes are often interrupted after opening the file
733 # before the actual contents are committed.733 # before the actual contents are committed.
734 t = self.get_transport()734 t = self.get_transport()
@@ -747,7 +747,7 @@
747 def test_corrupt_lockdir_info(self):747 def test_corrupt_lockdir_info(self):
748 """We can cope with corrupt (and thus unparseable) info files."""748 """We can cope with corrupt (and thus unparseable) info files."""
749 # This seems like a fairly common failure case too - see749 # This seems like a fairly common failure case too - see
750 # <https://bugs.edge.launchpad.net/bzr/+bug/619872> for instance.750 # <https://bugs.launchpad.net/bzr/+bug/619872> for instance.
751 # In particular some systems tend to fill recently created files with751 # In particular some systems tend to fill recently created files with
752 # nul bytes after recovering from a system crash.752 # nul bytes after recovering from a system crash.
753 t = self.get_transport()753 t = self.get_transport()
754754
=== modified file 'bzrlib/tests/test_osutils.py'
--- bzrlib/tests/test_osutils.py 2009-10-08 17:13:24 +0000
+++ bzrlib/tests/test_osutils.py 2010-11-30 16:04:22 +0000
@@ -1042,7 +1042,7 @@
1042 self.assertExpectedBlocks(expected_dirblocks[1:], result)1042 self.assertExpectedBlocks(expected_dirblocks[1:], result)
10431043
1044 def test_walkdirs_os_error(self):1044 def test_walkdirs_os_error(self):
1045 # <https://bugs.edge.launchpad.net/bzr/+bug/338653>1045 # <https://bugs.launchpad.net/bzr/+bug/338653>
1046 # Pyrex readdir didn't raise useful messages if it had an error1046 # Pyrex readdir didn't raise useful messages if it had an error
1047 # reading the directory1047 # reading the directory
1048 if sys.platform == 'win32':1048 if sys.platform == 'win32':
10491049
=== modified file 'bzrlib/tests/test_remote.py'
--- bzrlib/tests/test_remote.py 2010-04-23 05:30:32 +0000
+++ bzrlib/tests/test_remote.py 2010-11-30 16:04:22 +0000
@@ -1534,7 +1534,7 @@
1534 def test_get_multi_line_branch_conf(self):1534 def test_get_multi_line_branch_conf(self):
1535 # Make sure that multiple-line branch.conf files are supported1535 # Make sure that multiple-line branch.conf files are supported
1536 #1536 #
1537 # https://bugs.edge.launchpad.net/bzr/+bug/3540751537 # https://bugs.launchpad.net/bzr/+bug/354075
1538 client = FakeClient()1538 client = FakeClient()
1539 client.add_expected_call(1539 client.add_expected_call(
1540 'Branch.get_stacked_on_url', ('memory:///',),1540 'Branch.get_stacked_on_url', ('memory:///',),
15411541
=== modified file 'bzrlib/tests/test_ui.py'
--- bzrlib/tests/test_ui.py 2010-02-25 05:46:32 +0000
+++ bzrlib/tests/test_ui.py 2010-11-30 16:04:22 +0000
@@ -366,7 +366,7 @@
366366
367 def test_test_ui_factory_progress(self):367 def test_test_ui_factory_progress(self):
368 # there's no output; we just want to make sure this doesn't crash -368 # there's no output; we just want to make sure this doesn't crash -
369 # see https://bugs.edge.launchpad.net/bzr/+bug/408201369 # see https://bugs.launchpad.net/bzr/+bug/408201
370 ui = TestUIFactory()370 ui = TestUIFactory()
371 pb = ui.nested_progress_bar()371 pb = ui.nested_progress_bar()
372 pb.update('hello')372 pb.update('hello')
@@ -375,7 +375,7 @@
375375
376376
377class CannedInputUIFactoryTests(TestCase):377class CannedInputUIFactoryTests(TestCase):
378 378
379 def test_canned_input_get_input(self):379 def test_canned_input_get_input(self):
380 uif = CannedInputUIFactory([True, 'mbp', 'password'])380 uif = CannedInputUIFactory([True, 'mbp', 'password'])
381 self.assertEqual(uif.get_boolean('Extra cheese?'), True)381 self.assertEqual(uif.get_boolean('Extra cheese?'), True)
382382
=== modified file 'bzrlib/workingtree_4.py'
--- bzrlib/workingtree_4.py 2010-07-13 10:21:19 +0000
+++ bzrlib/workingtree_4.py 2010-11-30 16:04:22 +0000
@@ -1319,7 +1319,7 @@
1319 def _file_content_summary(self, path, stat_result):1319 def _file_content_summary(self, path, stat_result):
1320 # This is to support the somewhat obsolete path_content_summary method1320 # This is to support the somewhat obsolete path_content_summary method
1321 # with content filtering: see1321 # with content filtering: see
1322 # <https://bugs.edge.launchpad.net/bzr/+bug/415508>.1322 # <https://bugs.launchpad.net/bzr/+bug/415508>.
1323 #1323 #
1324 # If the dirstate cache is up to date and knows the hash and size,1324 # If the dirstate cache is up to date and knows the hash and size,
1325 # return that.1325 # return that.
@@ -1459,9 +1459,9 @@
1459 # the source tree.1459 # the source tree.
1460 if wt.supports_content_filtering():1460 if wt.supports_content_filtering():
1461 if hardlink:1461 if hardlink:
1462 # see https://bugs.edge.launchpad.net/bzr/+bug/4081931462 # see https://bugs.launchpad.net/bzr/+bug/408193
1463 trace.warning("hardlinking working copy files is not currently "1463 trace.warning('hardlinking working copy files is not'
1464 "supported in %r" % (wt,))1464 ' currently supported in %r' % (wt,))
1465 accelerator_tree = None1465 accelerator_tree = None
1466 delta_from_tree = False1466 delta_from_tree = False
1467 else:1467 else:
14681468
=== modified file 'setup.py'
--- setup.py 2010-01-12 01:44:13 +0000
+++ setup.py 2010-11-30 16:04:22 +0000
@@ -283,8 +283,8 @@
283 # The code it generates re-uses a "local" pointer and283 # The code it generates re-uses a "local" pointer and
284 # calls "PY_DECREF" after having set it to NULL. (It mixes PY_XDECREF284 # calls "PY_DECREF" after having set it to NULL. (It mixes PY_XDECREF
285 # which is NULL safe with PY_DECREF which is not.)285 # which is NULL safe with PY_DECREF which is not.)
286 # <https://bugs.edge.launchpad.net/bzr/+bug/449372>286 # <https://bugs.launchpad.net/bzr/+bug/449372>
287 # <https://bugs.edge.launchpad.net/bzr/+bug/276868>287 # <https://bugs.launchpad.net/bzr/+bug/276868>
288 print 'Cannot build extension "bzrlib._dirstate_helpers_pyx" using'288 print 'Cannot build extension "bzrlib._dirstate_helpers_pyx" using'
289 print 'your version of pyrex "%s". Please upgrade your pyrex' % (289 print 'your version of pyrex "%s". Please upgrade your pyrex' % (
290 pyrex_version,)290 pyrex_version,)

Subscribers

People subscribed via source and target branches