Merge lp:~vila/bzr/583667-lp-no-edge into lp:bzr/2.0
- 583667-lp-no-edge
- Merge into 2.0
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 |
Related bugs: |
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.
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.
Code-wise, the relevant changes are in:
bzrlib/
bzrlib/
And for the tests in:
bzrlib/
bzrlib/
bzrlib/
bzrlib/
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.
Robert Collins (lifeless) wrote : | # |
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).
Martin Pool (mbp) wrote : | # |
+* The ``edge.
+ 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_
+ ``http://
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://
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.
Martin Pool (mbp) wrote : | # |
> I also see these references to edge:
>
> ./bzrlib/
> ./bzrlib/
> ./bzrlib/
> launchpadlib.
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.)
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?
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.
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.
Vincent Ladeuil (vila) wrote : | # |
sent to pqm by email
Preview Diff
1 | === modified file 'NEWS' | |||
2 | --- NEWS 2010-10-08 09:10:20 +0000 | |||
3 | +++ NEWS 2010-11-30 16:04:22 +0000 | |||
4 | @@ -13,6 +13,14 @@ | |||
5 | 13 | Compatibility Breaks | 13 | Compatibility Breaks |
6 | 14 | ******************** | 14 | ******************** |
7 | 15 | 15 | ||
8 | 16 | * Launchpad has announced that the ``edge.launchpad.net`` instance is | ||
9 | 17 | deprecated and may be shut down in the future | ||
10 | 18 | <http://blog.launchpad.net/general/edge-is-deprecated>. Bazaar has therefore | ||
11 | 19 | been updated in this release to talk to the main (``launchpad.net``) servers, | ||
12 | 20 | rather than the ``edge`` ones. Users of previous versions can workaround | ||
13 | 21 | connection problems by setting the ``BZR_LP_XMLRPC_URL`` environment variable | ||
14 | 22 | to ``http://xmlrpc.launchpad.net/bazaar/``. (Vincent Ladeuil, #583667) | ||
15 | 23 | |||
16 | 16 | New Features | 24 | New Features |
17 | 17 | ************ | 25 | ************ |
18 | 18 | 26 | ||
19 | @@ -923,7 +931,7 @@ | |||
20 | 923 | 931 | ||
21 | 924 | * The ``--hardlink`` option to ``branch`` and ``checkout`` is not | 932 | * The ``--hardlink`` option to ``branch`` and ``checkout`` is not |
22 | 925 | supported at the moment on workingtree formats that can do content | 933 | supported at the moment on workingtree formats that can do content |
24 | 926 | filtering. (See <https://bugs.edge.launchpad.net/bzr/+bug/408193>.) | 934 | filtering. (See <https://bugs.launchpad.net/bzr/+bug/408193>.) |
25 | 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) |
26 | 928 | 936 | ||
27 | 929 | * There was a bug in ``osutils.relpath`` that was only triggered on | 937 | * There was a bug in ``osutils.relpath`` that was only triggered on |
28 | 930 | 938 | ||
29 | === modified file 'bzrlib/lockdir.py' | |||
30 | --- bzrlib/lockdir.py 2010-09-06 06:13:52 +0000 | |||
31 | +++ bzrlib/lockdir.py 2010-11-30 16:04:22 +0000 | |||
32 | @@ -242,7 +242,7 @@ | |||
33 | 242 | # have a similar bug allowing someone to think they got the lock | 242 | # have a similar bug allowing someone to think they got the lock |
34 | 243 | # when it's already held. | 243 | # when it's already held. |
35 | 244 | # | 244 | # |
37 | 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. |
38 | 246 | # | 246 | # |
39 | 247 | # Strictly the check is unnecessary and a waste of time for most | 247 | # Strictly the check is unnecessary and a waste of time for most |
40 | 248 | # people, but probably worth trapping if something is wrong. | 248 | # people, but probably worth trapping if something is wrong. |
41 | 249 | 249 | ||
42 | === modified file 'bzrlib/plugins/launchpad/__init__.py' | |||
43 | --- bzrlib/plugins/launchpad/__init__.py 2009-07-06 13:00:23 +0000 | |||
44 | +++ bzrlib/plugins/launchpad/__init__.py 2010-11-30 16:04:22 +0000 | |||
45 | @@ -17,7 +17,7 @@ | |||
46 | 17 | """Launchpad.net integration plugin for Bazaar.""" | 17 | """Launchpad.net integration plugin for Bazaar.""" |
47 | 18 | 18 | ||
48 | 19 | # The XMLRPC server address can be overridden by setting the environment | 19 | # The XMLRPC server address can be overridden by setting the environment |
50 | 20 | # variable $BZR_LP_XMLRPL_URL | 20 | # variable $BZR_LP_XMLRPC_URL |
51 | 21 | 21 | ||
52 | 22 | # see http://bazaar-vcs.org/Specs/BranchRegistrationTool | 22 | # see http://bazaar-vcs.org/Specs/BranchRegistrationTool |
53 | 23 | 23 | ||
54 | 24 | 24 | ||
55 | === modified file 'bzrlib/plugins/launchpad/lp_registration.py' | |||
56 | --- bzrlib/plugins/launchpad/lp_registration.py 2009-07-04 16:22:16 +0000 | |||
57 | +++ bzrlib/plugins/launchpad/lp_registration.py 2010-11-30 16:04:22 +0000 | |||
58 | @@ -61,7 +61,6 @@ | |||
59 | 61 | 61 | ||
60 | 62 | LAUNCHPAD_DOMAINS = { | 62 | LAUNCHPAD_DOMAINS = { |
61 | 63 | 'production': 'launchpad.net', | 63 | 'production': 'launchpad.net', |
62 | 64 | 'edge': 'edge.launchpad.net', | ||
63 | 65 | 'staging': 'staging.launchpad.net', | 64 | 'staging': 'staging.launchpad.net', |
64 | 66 | 'demo': 'demo.launchpad.net', | 65 | 'demo': 'demo.launchpad.net', |
65 | 67 | 'dev': 'launchpad.dev', | 66 | 'dev': 'launchpad.dev', |
66 | @@ -73,11 +72,9 @@ | |||
67 | 73 | for instance, domain in LAUNCHPAD_DOMAINS.iteritems(): | 72 | for instance, domain in LAUNCHPAD_DOMAINS.iteritems(): |
68 | 74 | LAUNCHPAD_INSTANCE[instance] = 'https://xmlrpc.%s/bazaar/' % domain | 73 | LAUNCHPAD_INSTANCE[instance] = 'https://xmlrpc.%s/bazaar/' % domain |
69 | 75 | 74 | ||
75 | 76 | # We use edge as the default because: | 75 | # We use production as the default because edge has been deprecated circa |
76 | 77 | # Beta users get redirected to it | 76 | # 2010-11 (see bug https://bugs.launchpad.net/bzr/+bug/583667) |
77 | 78 | # All users can use it | 77 | DEFAULT_INSTANCE = 'production' |
73 | 79 | # There is a bug in the launchpad side where redirection causes an OOPS. | ||
74 | 80 | DEFAULT_INSTANCE = 'edge' | ||
78 | 81 | DEFAULT_SERVICE_URL = LAUNCHPAD_INSTANCE[DEFAULT_INSTANCE] | 78 | DEFAULT_SERVICE_URL = LAUNCHPAD_INSTANCE[DEFAULT_INSTANCE] |
79 | 82 | 79 | ||
80 | 83 | transport = None | 80 | transport = None |
81 | 84 | 81 | ||
82 | === modified file 'bzrlib/plugins/launchpad/test_lp_directory.py' | |||
83 | --- bzrlib/plugins/launchpad/test_lp_directory.py 2009-03-23 14:59:43 +0000 | |||
84 | +++ bzrlib/plugins/launchpad/test_lp_directory.py 2010-11-30 16:04:22 +0000 | |||
85 | @@ -61,7 +61,7 @@ | |||
86 | 61 | self.assertEquals('http://bazaar.launchpad.net/~apt/apt/devel', | 61 | self.assertEquals('http://bazaar.launchpad.net/~apt/apt/devel', |
87 | 62 | directory._resolve('lp:apt', factory)) | 62 | directory._resolve('lp:apt', factory)) |
88 | 63 | # Make sure that resolve went to the production server. | 63 | # Make sure that resolve went to the production server. |
90 | 64 | self.assertEquals('https://xmlrpc.edge.launchpad.net/bazaar/', | 64 | self.assertEquals('https://xmlrpc.launchpad.net/bazaar/', |
91 | 65 | factory._service_url) | 65 | factory._service_url) |
92 | 66 | 66 | ||
93 | 67 | def test_staging(self): | 67 | def test_staging(self): |
94 | 68 | 68 | ||
95 | === modified file 'bzrlib/plugins/launchpad/test_lp_open.py' | |||
96 | --- bzrlib/plugins/launchpad/test_lp_open.py 2009-03-23 14:59:43 +0000 | |||
97 | +++ bzrlib/plugins/launchpad/test_lp_open.py 2010-11-30 16:04:22 +0000 | |||
98 | @@ -53,7 +53,7 @@ | |||
99 | 53 | branch.set_public_branch( | 53 | branch.set_public_branch( |
100 | 54 | 'bzr+ssh://bazaar.launchpad.net/~foo/bar/baz') | 54 | 'bzr+ssh://bazaar.launchpad.net/~foo/bar/baz') |
101 | 55 | self.assertEqual( | 55 | self.assertEqual( |
103 | 56 | ['Opening https://code.edge.launchpad.net/~foo/bar/baz in web ' | 56 | ['Opening https://code.launchpad.net/~foo/bar/baz in web ' |
104 | 57 | 'browser'], | 57 | 'browser'], |
105 | 58 | self.run_open('lp')) | 58 | self.run_open('lp')) |
106 | 59 | 59 | ||
107 | @@ -64,7 +64,7 @@ | |||
108 | 64 | branch.set_push_location( | 64 | branch.set_push_location( |
109 | 65 | 'bzr+ssh://bazaar.launchpad.net/~foo/bar/push') | 65 | 'bzr+ssh://bazaar.launchpad.net/~foo/bar/push') |
110 | 66 | self.assertEqual( | 66 | self.assertEqual( |
112 | 67 | ['Opening https://code.edge.launchpad.net/~foo/bar/public in web ' | 67 | ['Opening https://code.launchpad.net/~foo/bar/public in web ' |
113 | 68 | 'browser'], | 68 | 'browser'], |
114 | 69 | self.run_open('lp')) | 69 | self.run_open('lp')) |
115 | 70 | 70 | ||
116 | @@ -75,7 +75,7 @@ | |||
117 | 75 | branch.set_push_location( | 75 | branch.set_push_location( |
118 | 76 | 'bzr+ssh://bazaar.launchpad.net/~foo/bar/baz') | 76 | 'bzr+ssh://bazaar.launchpad.net/~foo/bar/baz') |
119 | 77 | self.assertEqual( | 77 | self.assertEqual( |
121 | 78 | ['Opening https://code.edge.launchpad.net/~foo/bar/baz in web ' | 78 | ['Opening https://code.launchpad.net/~foo/bar/baz in web ' |
122 | 79 | 'browser'], | 79 | 'browser'], |
123 | 80 | self.run_open('lp')) | 80 | self.run_open('lp')) |
124 | 81 | 81 | ||
125 | @@ -84,6 +84,6 @@ | |||
126 | 84 | # location and no push location, then just try to look up the | 84 | # location and no push location, then just try to look up the |
127 | 85 | # Launchpad page for that URL. | 85 | # Launchpad page for that URL. |
128 | 86 | self.assertEqual( | 86 | self.assertEqual( |
130 | 87 | ['Opening https://code.edge.launchpad.net/~foo/bar/baz in web ' | 87 | ['Opening https://code.launchpad.net/~foo/bar/baz in web ' |
131 | 88 | 'browser'], | 88 | 'browser'], |
132 | 89 | self.run_open('bzr+ssh://bazaar.launchpad.net/~foo/bar/baz')) | 89 | self.run_open('bzr+ssh://bazaar.launchpad.net/~foo/bar/baz')) |
133 | 90 | 90 | ||
134 | === modified file 'bzrlib/plugins/launchpad/test_lp_service.py' | |||
135 | --- bzrlib/plugins/launchpad/test_lp_service.py 2009-03-23 14:59:43 +0000 | |||
136 | +++ bzrlib/plugins/launchpad/test_lp_service.py 2010-11-30 16:04:22 +0000 | |||
137 | @@ -54,11 +54,6 @@ | |||
138 | 54 | self.assertEqual('https://xmlrpc.staging.launchpad.net/bazaar/', | 54 | self.assertEqual('https://xmlrpc.staging.launchpad.net/bazaar/', |
139 | 55 | service.service_url) | 55 | service.service_url) |
140 | 56 | 56 | ||
141 | 57 | def test_edge_service(self): | ||
142 | 58 | service = LaunchpadService(lp_instance='edge') | ||
143 | 59 | self.assertEqual('https://xmlrpc.edge.launchpad.net/bazaar/', | ||
144 | 60 | service.service_url) | ||
145 | 61 | |||
146 | 62 | def test_dev_service(self): | 57 | def test_dev_service(self): |
147 | 63 | service = LaunchpadService(lp_instance='dev') | 58 | service = LaunchpadService(lp_instance='dev') |
148 | 64 | self.assertEqual('https://xmlrpc.launchpad.dev/bazaar/', | 59 | self.assertEqual('https://xmlrpc.launchpad.dev/bazaar/', |
149 | @@ -97,7 +92,7 @@ | |||
150 | 97 | web_url = service.get_web_url_from_branch_url( | 92 | web_url = service.get_web_url_from_branch_url( |
151 | 98 | 'bzr+ssh://bazaar.launchpad.net/~foo/bar/baz') | 93 | 'bzr+ssh://bazaar.launchpad.net/~foo/bar/baz') |
152 | 99 | self.assertEqual( | 94 | self.assertEqual( |
154 | 100 | 'https://code.edge.launchpad.net/~foo/bar/baz', web_url) | 95 | 'https://code.launchpad.net/~foo/bar/baz', web_url) |
155 | 101 | 96 | ||
156 | 102 | def test_product_bzr_ssh_url(self): | 97 | def test_product_bzr_ssh_url(self): |
157 | 103 | service = LaunchpadService(lp_instance='production') | 98 | service = LaunchpadService(lp_instance='production') |
158 | @@ -152,7 +147,7 @@ | |||
159 | 152 | dict(urls=['http://bazaar.launchpad.net/~foo/bar/baz'])) | 147 | dict(urls=['http://bazaar.launchpad.net/~foo/bar/baz'])) |
160 | 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) |
161 | 154 | self.assertEqual( | 149 | self.assertEqual( |
163 | 155 | 'https://code.edge.launchpad.net/~foo/bar/baz', web_url) | 150 | 'https://code.launchpad.net/~foo/bar/baz', web_url) |
164 | 156 | 151 | ||
165 | 157 | def test_lp_branch_fault(self): | 152 | def test_lp_branch_fault(self): |
166 | 158 | service = LaunchpadService() | 153 | service = LaunchpadService() |
167 | @@ -171,13 +166,6 @@ | |||
168 | 171 | self.assertEqual( | 166 | self.assertEqual( |
169 | 172 | 'https://code.staging.launchpad.net/~foo/bar/baz', web_url) | 167 | 'https://code.staging.launchpad.net/~foo/bar/baz', web_url) |
170 | 173 | 168 | ||
171 | 174 | def test_edge_url(self): | ||
172 | 175 | service = LaunchpadService(lp_instance='edge') | ||
173 | 176 | web_url = service.get_web_url_from_branch_url( | ||
174 | 177 | 'bzr+ssh://bazaar.launchpad.net/~foo/bar/baz') | ||
175 | 178 | self.assertEqual( | ||
176 | 179 | 'https://code.edge.launchpad.net/~foo/bar/baz', web_url) | ||
177 | 180 | |||
178 | 181 | def test_dev_url(self): | 169 | def test_dev_url(self): |
179 | 182 | service = LaunchpadService(lp_instance='dev') | 170 | service = LaunchpadService(lp_instance='dev') |
180 | 183 | web_url = service.get_web_url_from_branch_url( | 171 | web_url = service.get_web_url_from_branch_url( |
181 | 184 | 172 | ||
182 | === modified file 'bzrlib/plugins/launchpad/test_register.py' | |||
183 | --- bzrlib/plugins/launchpad/test_register.py 2009-06-10 03:56:49 +0000 | |||
184 | +++ bzrlib/plugins/launchpad/test_register.py 2010-11-30 16:04:22 +0000 | |||
185 | @@ -175,7 +175,7 @@ | |||
186 | 175 | self.assertEquals(out, 'Branch registered.\n') | 175 | self.assertEquals(out, 'Branch registered.\n') |
187 | 176 | 176 | ||
188 | 177 | def test_onto_transport(self): | 177 | def test_onto_transport(self): |
190 | 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""" |
191 | 179 | # use a real transport, but intercept at the http/xml layer | 179 | # use a real transport, but intercept at the http/xml layer |
192 | 180 | transport = InstrumentedXMLRPCTransport(self, expect_auth=True) | 180 | transport = InstrumentedXMLRPCTransport(self, expect_auth=True) |
193 | 181 | service = LaunchpadService(transport) | 181 | service = LaunchpadService(transport) |
194 | @@ -188,7 +188,7 @@ | |||
195 | 188 | 'author@launchpad.net', | 188 | 'author@launchpad.net', |
196 | 189 | 'product') | 189 | 'product') |
197 | 190 | rego.submit(service) | 190 | rego.submit(service) |
199 | 191 | self.assertEquals(transport.connected_host, 'xmlrpc.edge.launchpad.net') | 191 | self.assertEquals(transport.connected_host, 'xmlrpc.launchpad.net') |
200 | 192 | self.assertEquals(len(transport.sent_params), 6) | 192 | self.assertEquals(len(transport.sent_params), 6) |
201 | 193 | self.assertEquals(transport.sent_params, | 193 | self.assertEquals(transport.sent_params, |
202 | 194 | ('http://test-server.com/bzr/branch', # branch_url | 194 | ('http://test-server.com/bzr/branch', # branch_url |
203 | @@ -200,12 +200,12 @@ | |||
204 | 200 | self.assertTrue(transport.got_request) | 200 | self.assertTrue(transport.got_request) |
205 | 201 | 201 | ||
206 | 202 | def test_onto_transport_unauthenticated(self): | 202 | def test_onto_transport_unauthenticated(self): |
208 | 203 | """Test how an unauthenticated request is transmitted across a mock Transport""" | 203 | """An unauthenticated request is transmitted across a mock Transport""" |
209 | 204 | transport = InstrumentedXMLRPCTransport(self, expect_auth=False) | 204 | transport = InstrumentedXMLRPCTransport(self, expect_auth=False) |
210 | 205 | service = LaunchpadService(transport) | 205 | service = LaunchpadService(transport) |
211 | 206 | resolve = ResolveLaunchpadPathRequest('bzr') | 206 | resolve = ResolveLaunchpadPathRequest('bzr') |
212 | 207 | resolve.submit(service) | 207 | resolve.submit(service) |
214 | 208 | self.assertEquals(transport.connected_host, 'xmlrpc.edge.launchpad.net') | 208 | self.assertEquals(transport.connected_host, 'xmlrpc.launchpad.net') |
215 | 209 | self.assertEquals(len(transport.sent_params), 1) | 209 | self.assertEquals(len(transport.sent_params), 1) |
216 | 210 | self.assertEquals(transport.sent_params, ('bzr', )) | 210 | self.assertEquals(transport.sent_params, ('bzr', )) |
217 | 211 | self.assertTrue(transport.got_request) | 211 | self.assertTrue(transport.got_request) |
218 | 212 | 212 | ||
219 | === modified file 'bzrlib/reconcile.py' | |||
220 | --- bzrlib/reconcile.py 2009-07-31 22:48:55 +0000 | |||
221 | +++ bzrlib/reconcile.py 2010-11-30 16:04:22 +0000 | |||
222 | @@ -494,7 +494,7 @@ | |||
223 | 494 | # - lock the names list | 494 | # - lock the names list |
224 | 495 | # - perform a customised pack() that regenerates data as needed | 495 | # - perform a customised pack() that regenerates data as needed |
225 | 496 | # - unlock the names list | 496 | # - unlock the names list |
227 | 497 | # https://bugs.edge.launchpad.net/bzr/+bug/154173 | 497 | # https://bugs.launchpad.net/bzr/+bug/154173 |
228 | 498 | 498 | ||
229 | 499 | def _reconcile_steps(self): | 499 | def _reconcile_steps(self): |
230 | 500 | """Perform the steps to reconcile this repository.""" | 500 | """Perform the steps to reconcile this repository.""" |
231 | 501 | 501 | ||
232 | === modified file 'bzrlib/remote.py' | |||
233 | --- bzrlib/remote.py 2010-04-23 05:30:32 +0000 | |||
234 | +++ bzrlib/remote.py 2010-11-30 16:04:22 +0000 | |||
235 | @@ -824,7 +824,7 @@ | |||
236 | 824 | def _has_same_fallbacks(self, other_repo): | 824 | def _has_same_fallbacks(self, other_repo): |
237 | 825 | """Returns true if the repositories have the same fallbacks.""" | 825 | """Returns true if the repositories have the same fallbacks.""" |
238 | 826 | # XXX: copied from Repository; it should be unified into a base class | 826 | # XXX: copied from Repository; it should be unified into a base class |
240 | 827 | # <https://bugs.edge.launchpad.net/bzr/+bug/401622> | 827 | # <https://bugs.launchpad.net/bzr/+bug/401622> |
241 | 828 | my_fb = self._fallback_repositories | 828 | my_fb = self._fallback_repositories |
242 | 829 | other_fb = other_repo._fallback_repositories | 829 | other_fb = other_repo._fallback_repositories |
243 | 830 | if len(my_fb) != len(other_fb): | 830 | if len(my_fb) != len(other_fb): |
244 | 831 | 831 | ||
245 | === modified file 'bzrlib/repository.py' | |||
246 | --- bzrlib/repository.py 2010-02-25 04:31:05 +0000 | |||
247 | +++ bzrlib/repository.py 2010-11-30 16:04:22 +0000 | |||
248 | @@ -1678,7 +1678,7 @@ | |||
249 | 1678 | "May not fetch while in a write group.") | 1678 | "May not fetch while in a write group.") |
250 | 1679 | # fast path same-url fetch operations | 1679 | # fast path same-url fetch operations |
251 | 1680 | # TODO: lift out to somewhere common with RemoteRepository | 1680 | # TODO: lift out to somewhere common with RemoteRepository |
253 | 1681 | # <https://bugs.edge.launchpad.net/bzr/+bug/401646> | 1681 | # <https://bugs.launchpad.net/bzr/+bug/401646> |
254 | 1682 | if (self.has_same_location(source) | 1682 | if (self.has_same_location(source) |
255 | 1683 | and fetch_spec is None | 1683 | and fetch_spec is None |
256 | 1684 | and self._has_same_fallbacks(source)): | 1684 | and self._has_same_fallbacks(source)): |
257 | 1685 | 1685 | ||
258 | === modified file 'bzrlib/tests/__init__.py' | |||
259 | --- bzrlib/tests/__init__.py 2010-07-16 13:06:04 +0000 | |||
260 | +++ bzrlib/tests/__init__.py 2010-11-30 16:04:22 +0000 | |||
261 | @@ -755,7 +755,7 @@ | |||
262 | 755 | # XXX: Should probably unify more with CannedInputUIFactory or a | 755 | # XXX: Should probably unify more with CannedInputUIFactory or a |
263 | 756 | # particular configuration of TextUIFactory, or otherwise have a clearer | 756 | # particular configuration of TextUIFactory, or otherwise have a clearer |
264 | 757 | # idea of how they're supposed to be different. | 757 | # idea of how they're supposed to be different. |
266 | 758 | # See https://bugs.edge.launchpad.net/bzr/+bug/408213 | 758 | # See https://bugs.launchpad.net/bzr/+bug/408213 |
267 | 759 | 759 | ||
268 | 760 | def __init__(self, stdout=None, stderr=None, stdin=None): | 760 | def __init__(self, stdout=None, stderr=None, stdin=None): |
269 | 761 | if stdin is not None: | 761 | if stdin is not None: |
270 | 762 | 762 | ||
271 | === modified file 'bzrlib/tests/blackbox/test_branch.py' | |||
272 | --- bzrlib/tests/blackbox/test_branch.py 2010-02-24 08:03:07 +0000 | |||
273 | +++ bzrlib/tests/blackbox/test_branch.py 2010-11-30 16:04:22 +0000 | |||
274 | @@ -175,7 +175,7 @@ | |||
275 | 175 | if same_file: | 175 | if same_file: |
276 | 176 | pass | 176 | pass |
277 | 177 | else: | 177 | else: |
279 | 178 | # https://bugs.edge.launchpad.net/bzr/+bug/408193 | 178 | # https://bugs.launchpad.net/bzr/+bug/408193 |
280 | 179 | self.assertContainsRe(err, "hardlinking working copy files is " | 179 | self.assertContainsRe(err, "hardlinking working copy files is " |
281 | 180 | "not currently supported") | 180 | "not currently supported") |
282 | 181 | raise KnownFailure("--hardlink doesn't work in formats " | 181 | raise KnownFailure("--hardlink doesn't work in formats " |
283 | 182 | 182 | ||
284 | === modified file 'bzrlib/tests/blackbox/test_checkout.py' | |||
285 | --- bzrlib/tests/blackbox/test_checkout.py 2009-08-03 04:19:03 +0000 | |||
286 | +++ bzrlib/tests/blackbox/test_checkout.py 2010-11-30 16:04:22 +0000 | |||
287 | @@ -164,7 +164,7 @@ | |||
288 | 164 | if same_file: | 164 | if same_file: |
289 | 165 | pass | 165 | pass |
290 | 166 | else: | 166 | else: |
292 | 167 | # https://bugs.edge.launchpad.net/bzr/+bug/408193 | 167 | # https://bugs.launchpad.net/bzr/+bug/408193 |
293 | 168 | self.assertContainsRe(err, "hardlinking working copy files is " | 168 | self.assertContainsRe(err, "hardlinking working copy files is " |
294 | 169 | "not currently supported") | 169 | "not currently supported") |
295 | 170 | raise KnownFailure("--hardlink doesn't work in formats " | 170 | raise KnownFailure("--hardlink doesn't work in formats " |
296 | 171 | 171 | ||
297 | === modified file 'bzrlib/tests/blackbox/test_commit.py' | |||
298 | --- bzrlib/tests/blackbox/test_commit.py 2009-08-26 03:20:32 +0000 | |||
299 | +++ bzrlib/tests/blackbox/test_commit.py 2010-11-30 16:04:22 +0000 | |||
300 | @@ -608,7 +608,7 @@ | |||
301 | 608 | self.assertContainsRe(err, r'modified test\nCommitted revision 2.') | 608 | self.assertContainsRe(err, r'modified test\nCommitted revision 2.') |
302 | 609 | 609 | ||
303 | 610 | def test_commit_readonly_checkout(self): | 610 | def test_commit_readonly_checkout(self): |
305 | 611 | # https://bugs.edge.launchpad.net/bzr/+bug/129701 | 611 | # https://bugs.launchpad.net/bzr/+bug/129701 |
306 | 612 | # "UnlockableTransport error trying to commit in checkout of readonly | 612 | # "UnlockableTransport error trying to commit in checkout of readonly |
307 | 613 | # branch" | 613 | # branch" |
308 | 614 | self.make_branch('master') | 614 | self.make_branch('master') |
309 | 615 | 615 | ||
310 | === modified file 'bzrlib/tests/blackbox/test_merge.py' | |||
311 | --- bzrlib/tests/blackbox/test_merge.py 2009-08-06 06:58:09 +0000 | |||
312 | +++ bzrlib/tests/blackbox/test_merge.py 2010-11-30 16:04:22 +0000 | |||
313 | @@ -375,7 +375,7 @@ | |||
314 | 375 | def test_directive_cherrypick(self): | 375 | def test_directive_cherrypick(self): |
315 | 376 | source = self.make_branch_and_tree('source') | 376 | source = self.make_branch_and_tree('source') |
316 | 377 | source.commit("nothing") | 377 | source.commit("nothing") |
318 | 378 | # see https://bugs.edge.launchpad.net/bzr/+bug/409688 - trying to | 378 | # see https://bugs.launchpad.net/bzr/+bug/409688 - trying to |
319 | 379 | # cherrypick from one branch into another unrelated branch with a | 379 | # cherrypick from one branch into another unrelated branch with a |
320 | 380 | # different root id will give shape conflicts. as a workaround we | 380 | # different root id will give shape conflicts. as a workaround we |
321 | 381 | # make sure they share the same root id. | 381 | # make sure they share the same root id. |
322 | 382 | 382 | ||
323 | === modified file 'bzrlib/tests/blackbox/test_reconfigure.py' | |||
324 | --- bzrlib/tests/blackbox/test_reconfigure.py 2009-07-10 08:18:28 +0000 | |||
325 | +++ bzrlib/tests/blackbox/test_reconfigure.py 2010-11-30 16:04:22 +0000 | |||
326 | @@ -197,7 +197,7 @@ | |||
327 | 197 | * then make the second unstacked, so it has to fill in history from | 197 | * then make the second unstacked, so it has to fill in history from |
328 | 198 | the original fallback lying underneath its original content | 198 | the original fallback lying underneath its original content |
329 | 199 | 199 | ||
331 | 200 | See discussion in <https://bugs.edge.launchpad.net/bzr/+bug/391411> | 200 | See discussion in <https://bugs.launchpad.net/bzr/+bug/391411> |
332 | 201 | """ | 201 | """ |
333 | 202 | # there are also per_branch tests that exercise remote operation etc | 202 | # there are also per_branch tests that exercise remote operation etc |
334 | 203 | tree_1 = self.make_branch_and_tree('b1', format='2a') | 203 | tree_1 = self.make_branch_and_tree('b1', format='2a') |
335 | 204 | 204 | ||
336 | === modified file 'bzrlib/tests/per_tree/test_inv.py' | |||
337 | --- bzrlib/tests/per_tree/test_inv.py 2010-02-12 03:33:36 +0000 | |||
338 | +++ bzrlib/tests/per_tree/test_inv.py 2010-11-30 16:04:22 +0000 | |||
339 | @@ -170,7 +170,7 @@ | |||
340 | 170 | work_tree.get_canonical_inventory_path('Dir/None')) | 170 | work_tree.get_canonical_inventory_path('Dir/None')) |
341 | 171 | 171 | ||
342 | 172 | def test_canonical_tree_name_mismatch(self): | 172 | def test_canonical_tree_name_mismatch(self): |
344 | 173 | # see <https://bugs.edge.launchpad.net/bzr/+bug/368931> | 173 | # see <https://bugs.launchpad.net/bzr/+bug/368931> |
345 | 174 | # some of the trees we want to use can only exist on a disk, not in | 174 | # some of the trees we want to use can only exist on a disk, not in |
346 | 175 | # memory - therefore we can only test this if the filesystem is | 175 | # memory - therefore we can only test this if the filesystem is |
347 | 176 | # case-sensitive. | 176 | # case-sensitive. |
348 | 177 | 177 | ||
349 | === modified file 'bzrlib/tests/per_workingtree/test_content_filters.py' | |||
350 | --- bzrlib/tests/per_workingtree/test_content_filters.py 2009-10-28 23:34:13 +0000 | |||
351 | +++ bzrlib/tests/per_workingtree/test_content_filters.py 2010-11-30 16:04:22 +0000 | |||
352 | @@ -227,7 +227,7 @@ | |||
353 | 227 | 227 | ||
354 | 228 | def test_path_content_summary(self): | 228 | def test_path_content_summary(self): |
355 | 229 | """path_content_summary should always talk about the canonical form.""" | 229 | """path_content_summary should always talk about the canonical form.""" |
357 | 230 | # see https://bugs.edge.launchpad.net/bzr/+bug/415508 | 230 | # see https://bugs.launchpad.net/bzr/+bug/415508 |
358 | 231 | # | 231 | # |
359 | 232 | # set up a tree where the canonical form has a string added to the | 232 | # set up a tree where the canonical form has a string added to the |
360 | 233 | # end | 233 | # end |
361 | 234 | 234 | ||
362 | === modified file 'bzrlib/tests/test_errors.py' | |||
363 | --- bzrlib/tests/test_errors.py 2010-09-06 06:13:52 +0000 | |||
364 | +++ bzrlib/tests/test_errors.py 2010-11-30 16:04:22 +0000 | |||
365 | @@ -678,7 +678,7 @@ | |||
366 | 678 | str(e), 'Unprintable exception ErrorWithBadFormat') | 678 | str(e), 'Unprintable exception ErrorWithBadFormat') |
367 | 679 | 679 | ||
368 | 680 | def test_cannot_bind_address(self): | 680 | def test_cannot_bind_address(self): |
370 | 681 | # see <https://bugs.edge.launchpad.net/bzr/+bug/286871> | 681 | # see <https://bugs.launchpad.net/bzr/+bug/286871> |
371 | 682 | e = errors.CannotBindAddress('example.com', 22, | 682 | e = errors.CannotBindAddress('example.com', 22, |
372 | 683 | socket.error(13, 'Permission denied')) | 683 | socket.error(13, 'Permission denied')) |
373 | 684 | self.assertContainsRe(str(e), | 684 | self.assertContainsRe(str(e), |
374 | 685 | 685 | ||
375 | === modified file 'bzrlib/tests/test_lockdir.py' | |||
376 | --- bzrlib/tests/test_lockdir.py 2010-09-06 06:13:52 +0000 | |||
377 | +++ bzrlib/tests/test_lockdir.py 2010-11-30 16:04:22 +0000 | |||
378 | @@ -728,7 +728,7 @@ | |||
379 | 728 | def test_no_lockdir_info(self): | 728 | def test_no_lockdir_info(self): |
380 | 729 | """We can cope with empty info files.""" | 729 | """We can cope with empty info files.""" |
381 | 730 | # This seems like a fairly common failure case - see | 730 | # This seems like a fairly common failure case - see |
383 | 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. |
384 | 732 | # Processes are often interrupted after opening the file | 732 | # Processes are often interrupted after opening the file |
385 | 733 | # before the actual contents are committed. | 733 | # before the actual contents are committed. |
386 | 734 | t = self.get_transport() | 734 | t = self.get_transport() |
387 | @@ -747,7 +747,7 @@ | |||
388 | 747 | def test_corrupt_lockdir_info(self): | 747 | def test_corrupt_lockdir_info(self): |
389 | 748 | """We can cope with corrupt (and thus unparseable) info files.""" | 748 | """We can cope with corrupt (and thus unparseable) info files.""" |
390 | 749 | # This seems like a fairly common failure case too - see | 749 | # This seems like a fairly common failure case too - see |
392 | 750 | # <https://bugs.edge.launchpad.net/bzr/+bug/619872> for instance. | 750 | # <https://bugs.launchpad.net/bzr/+bug/619872> for instance. |
393 | 751 | # In particular some systems tend to fill recently created files with | 751 | # In particular some systems tend to fill recently created files with |
394 | 752 | # nul bytes after recovering from a system crash. | 752 | # nul bytes after recovering from a system crash. |
395 | 753 | t = self.get_transport() | 753 | t = self.get_transport() |
396 | 754 | 754 | ||
397 | === modified file 'bzrlib/tests/test_osutils.py' | |||
398 | --- bzrlib/tests/test_osutils.py 2009-10-08 17:13:24 +0000 | |||
399 | +++ bzrlib/tests/test_osutils.py 2010-11-30 16:04:22 +0000 | |||
400 | @@ -1042,7 +1042,7 @@ | |||
401 | 1042 | self.assertExpectedBlocks(expected_dirblocks[1:], result) | 1042 | self.assertExpectedBlocks(expected_dirblocks[1:], result) |
402 | 1043 | 1043 | ||
403 | 1044 | def test_walkdirs_os_error(self): | 1044 | def test_walkdirs_os_error(self): |
405 | 1045 | # <https://bugs.edge.launchpad.net/bzr/+bug/338653> | 1045 | # <https://bugs.launchpad.net/bzr/+bug/338653> |
406 | 1046 | # Pyrex readdir didn't raise useful messages if it had an error | 1046 | # Pyrex readdir didn't raise useful messages if it had an error |
407 | 1047 | # reading the directory | 1047 | # reading the directory |
408 | 1048 | if sys.platform == 'win32': | 1048 | if sys.platform == 'win32': |
409 | 1049 | 1049 | ||
410 | === modified file 'bzrlib/tests/test_remote.py' | |||
411 | --- bzrlib/tests/test_remote.py 2010-04-23 05:30:32 +0000 | |||
412 | +++ bzrlib/tests/test_remote.py 2010-11-30 16:04:22 +0000 | |||
413 | @@ -1534,7 +1534,7 @@ | |||
414 | 1534 | def test_get_multi_line_branch_conf(self): | 1534 | def test_get_multi_line_branch_conf(self): |
415 | 1535 | # Make sure that multiple-line branch.conf files are supported | 1535 | # Make sure that multiple-line branch.conf files are supported |
416 | 1536 | # | 1536 | # |
418 | 1537 | # https://bugs.edge.launchpad.net/bzr/+bug/354075 | 1537 | # https://bugs.launchpad.net/bzr/+bug/354075 |
419 | 1538 | client = FakeClient() | 1538 | client = FakeClient() |
420 | 1539 | client.add_expected_call( | 1539 | client.add_expected_call( |
421 | 1540 | 'Branch.get_stacked_on_url', ('memory:///',), | 1540 | 'Branch.get_stacked_on_url', ('memory:///',), |
422 | 1541 | 1541 | ||
423 | === modified file 'bzrlib/tests/test_ui.py' | |||
424 | --- bzrlib/tests/test_ui.py 2010-02-25 05:46:32 +0000 | |||
425 | +++ bzrlib/tests/test_ui.py 2010-11-30 16:04:22 +0000 | |||
426 | @@ -366,7 +366,7 @@ | |||
427 | 366 | 366 | ||
428 | 367 | def test_test_ui_factory_progress(self): | 367 | def test_test_ui_factory_progress(self): |
429 | 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 - |
431 | 369 | # see https://bugs.edge.launchpad.net/bzr/+bug/408201 | 369 | # see https://bugs.launchpad.net/bzr/+bug/408201 |
432 | 370 | ui = TestUIFactory() | 370 | ui = TestUIFactory() |
433 | 371 | pb = ui.nested_progress_bar() | 371 | pb = ui.nested_progress_bar() |
434 | 372 | pb.update('hello') | 372 | pb.update('hello') |
435 | @@ -375,7 +375,7 @@ | |||
436 | 375 | 375 | ||
437 | 376 | 376 | ||
438 | 377 | class CannedInputUIFactoryTests(TestCase): | 377 | class CannedInputUIFactoryTests(TestCase): |
440 | 378 | 378 | ||
441 | 379 | def test_canned_input_get_input(self): | 379 | def test_canned_input_get_input(self): |
442 | 380 | uif = CannedInputUIFactory([True, 'mbp', 'password']) | 380 | uif = CannedInputUIFactory([True, 'mbp', 'password']) |
443 | 381 | self.assertEqual(uif.get_boolean('Extra cheese?'), True) | 381 | self.assertEqual(uif.get_boolean('Extra cheese?'), True) |
444 | 382 | 382 | ||
445 | === modified file 'bzrlib/workingtree_4.py' | |||
446 | --- bzrlib/workingtree_4.py 2010-07-13 10:21:19 +0000 | |||
447 | +++ bzrlib/workingtree_4.py 2010-11-30 16:04:22 +0000 | |||
448 | @@ -1319,7 +1319,7 @@ | |||
449 | 1319 | def _file_content_summary(self, path, stat_result): | 1319 | def _file_content_summary(self, path, stat_result): |
450 | 1320 | # This is to support the somewhat obsolete path_content_summary method | 1320 | # This is to support the somewhat obsolete path_content_summary method |
451 | 1321 | # with content filtering: see | 1321 | # with content filtering: see |
453 | 1322 | # <https://bugs.edge.launchpad.net/bzr/+bug/415508>. | 1322 | # <https://bugs.launchpad.net/bzr/+bug/415508>. |
454 | 1323 | # | 1323 | # |
455 | 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, |
456 | 1325 | # return that. | 1325 | # return that. |
457 | @@ -1459,9 +1459,9 @@ | |||
458 | 1459 | # the source tree. | 1459 | # the source tree. |
459 | 1460 | if wt.supports_content_filtering(): | 1460 | if wt.supports_content_filtering(): |
460 | 1461 | if hardlink: | 1461 | if hardlink: |
464 | 1462 | # see https://bugs.edge.launchpad.net/bzr/+bug/408193 | 1462 | # see https://bugs.launchpad.net/bzr/+bug/408193 |
465 | 1463 | trace.warning("hardlinking working copy files is not currently " | 1463 | trace.warning('hardlinking working copy files is not' |
466 | 1464 | "supported in %r" % (wt,)) | 1464 | ' currently supported in %r' % (wt,)) |
467 | 1465 | accelerator_tree = None | 1465 | accelerator_tree = None |
468 | 1466 | delta_from_tree = False | 1466 | delta_from_tree = False |
469 | 1467 | else: | 1467 | else: |
470 | 1468 | 1468 | ||
471 | === modified file 'setup.py' | |||
472 | --- setup.py 2010-01-12 01:44:13 +0000 | |||
473 | +++ setup.py 2010-11-30 16:04:22 +0000 | |||
474 | @@ -283,8 +283,8 @@ | |||
475 | 283 | # The code it generates re-uses a "local" pointer and | 283 | # The code it generates re-uses a "local" pointer and |
476 | 284 | # calls "PY_DECREF" after having set it to NULL. (It mixes PY_XDECREF | 284 | # calls "PY_DECREF" after having set it to NULL. (It mixes PY_XDECREF |
477 | 285 | # which is NULL safe with PY_DECREF which is not.) | 285 | # which is NULL safe with PY_DECREF which is not.) |
480 | 286 | # <https://bugs.edge.launchpad.net/bzr/+bug/449372> | 286 | # <https://bugs.launchpad.net/bzr/+bug/449372> |
481 | 287 | # <https://bugs.edge.launchpad.net/bzr/+bug/276868> | 287 | # <https://bugs.launchpad.net/bzr/+bug/276868> |
482 | 288 | print 'Cannot build extension "bzrlib._dirstate_helpers_pyx" using' | 288 | print 'Cannot build extension "bzrlib._dirstate_helpers_pyx" using' |
483 | 289 | print 'your version of pyrex "%s". Please upgrade your pyrex' % ( | 289 | print 'your version of pyrex "%s". Please upgrade your pyrex' % ( |
484 | 290 | pyrex_version,) | 290 | pyrex_version,) |
I also see these references to edge:
./bzrlib/ plugins/ launchpad/ lp_api. py: EDGE_SERVICE_ROOT, plugins/ launchpad/ lp_api. py: 'edge': EDGE_SERVICE_ROOT, plugins/ launchpad/ lp_api. py: launchpad. EDGE_SERVICE_ ROOT.
./bzrlib/
./bzrlib/
launchpadlib.