Ticket #1636: fix-1636-for-1.9.2.darcs.patch

File fix-1636-for-1.9.2.darcs.patch, 104.1 KB (added by davidsarah, at 2012-06-16T19:06:39Z)

[rebased for 1.9.2] After a server disconnects, make the IServer retain the dead RemoteReference?, and continue to return it to anyone who calls get_rref(). This removes the need for callers to guard against receiving a None (as long as the server was connected at least once, which is always the case for servers returned by get_servers_for_psi(), which is how all upload/download code gets servers). Includes test

Line 
11 patch for repository tahoe-lafs.org:/home/source/darcs/tahoe-lafs/1.9.2:
2
3Sat Jun 16 19:24:03 BST 2012  david-sarah@jacaranda.org
4  * [rebased for 1.9.2] After a server disconnects, make the IServer retain the dead RemoteReference, and continue to return it to anyone who calls get_rref(). This removes the need for callers to guard against receiving a None (as long as the server was connected at least once, which is always the case for servers returned by get_servers_for_psi(), which is how all upload/download code gets servers). Includes test, which is now the same as on trunk. fixes #1636 for 1.9.2.
5
6New patches:
7
8[[rebased for 1.9.2] After a server disconnects, make the IServer retain the dead RemoteReference, and continue to return it to anyone who calls get_rref(). This removes the need for callers to guard against receiving a None (as long as the server was connected at least once, which is always the case for servers returned by get_servers_for_psi(), which is how all upload/download code gets servers). Includes test, which is now the same as on trunk. fixes #1636 for 1.9.2.
9david-sarah@jacaranda.org**20120616182403
10 Ignore-this: 6a7e263166d05c6d3538d0a6cea0a1f0
11] {
12hunk ./src/allmydata/interfaces.py 449
13     def get_nickname():
14         pass
15     def get_rref():
16-        pass
17+        """Once a server is connected, I return a RemoteReference.
18+        Before a server is connected for the first time, I return None.
19+
20+        Note that the rref I return will start producing DeadReferenceErrors
21+        once the connection is lost.
22+        """
23 
24 
25 class IMutableSlotWriter(Interface):
26hunk ./src/allmydata/storage_client.py 80
27     def test_add_rref(self, serverid, rref):
28         s = NativeStorageServer(serverid, {})
29         s.rref = rref
30+        s._is_connected = True
31         self.servers[serverid] = s
32 
33     def test_add_server(self, serverid, s):
34hunk ./src/allmydata/storage_client.py 131
35         return frozenset(self.servers.keys())
36 
37     def get_connected_servers(self):
38-        return frozenset([s for s in self.servers.values() if s.get_rref()])
39+        return frozenset([s for s in self.servers.values() if s.is_connected()])
40 
41     def get_known_servers(self):
42         return frozenset(self.servers.values())
43hunk ./src/allmydata/storage_client.py 180
44         self.last_loss_time = None
45         self.remote_host = None
46         self.rref = None
47+        self._is_connected = False
48         self._reconnector = None
49         self._trigger_cb = None
50 
51hunk ./src/allmydata/storage_client.py 218
52         return self.announcement
53     def get_remote_host(self):
54         return self.remote_host
55+    def is_connected(self):
56+        return self._is_connected
57     def get_last_connect_time(self):
58         return self.last_connect_time
59     def get_last_loss_time(self):
60hunk ./src/allmydata/storage_client.py 253
61         self.last_connect_time = time.time()
62         self.remote_host = rref.getPeer()
63         self.rref = rref
64+        self._is_connected = True
65         rref.notifyOnDisconnect(self._lost)
66 
67     def get_rref(self):
68hunk ./src/allmydata/storage_client.py 263
69         log.msg(format="lost connection to %(name)s", name=self.get_name(),
70                 facility="tahoe.storage_broker", umid="zbRllw")
71         self.last_loss_time = time.time()
72-        self.rref = None
73+        # self.rref is now stale: all callRemote()s will get a
74+        # DeadReferenceError. We leave the stale reference in place so that
75+        # uploader/downloader code (which received this IServer through
76+        # get_connected_servers() or get_servers_for_psi()) can continue to
77+        # use s.get_rref().callRemote() and not worry about it being None.
78+        self._is_connected = False
79         self.remote_host = None
80 
81     def stop_connecting(self):
82hunk ./src/allmydata/test/test_system.py 17
83 from allmydata.immutable.filenode import ImmutableFileNode
84 from allmydata.util import idlib, mathutil
85 from allmydata.util import log, base32
86+from allmydata.util.verlib import NormalizedVersion
87 from allmydata.util.encodingutil import quote_output, unicode_to_argv, get_filesystem_encoding
88 from allmydata.util.fileutil import abspath_expanduser_unicode
89 from allmydata.util.consumer import MemoryConsumer, download_to_data
90hunk ./src/allmydata/test/test_system.py 28
91 from allmydata.mutable.common import NotWriteableError
92 from allmydata.mutable import layout as mutable_layout
93 from allmydata.mutable.publish import MutableData
94+
95+import foolscap
96 from foolscap.api import DeadReferenceError, fireEventually
97 from twisted.python.failure import Failure
98 from twisted.web.client import getPage
99hunk ./src/allmydata/test/test_system.py 1889
100             return d
101         d.addCallback(_got_lit_filenode)
102         return d
103+
104+
105+class Connections(SystemTestMixin, unittest.TestCase):
106+    def test_rref(self):
107+        if NormalizedVersion(foolscap.__version__) < NormalizedVersion('0.6.4'):
108+            raise unittest.SkipTest("skipped due to http://foolscap.lothar.com/trac/ticket/196 "
109+                                    "(which does not affect normal usage of Tahoe-LAFS)")
110+
111+        self.basedir = "system/Connections/rref"
112+        d = self.set_up_nodes(2)
113+        def _start(ign):
114+            self.c0 = self.clients[0]
115+            nonclients = [s for s in self.c0.storage_broker.get_connected_servers()
116+                          if s.get_serverid() != self.c0.nodeid]
117+            self.failUnlessEqual(len(nonclients), 1)
118+
119+            self.s1 = nonclients[0]  # s1 is the server, not c0
120+            self.s1_rref = self.s1.get_rref()
121+            self.failIfEqual(self.s1_rref, None)
122+            self.failUnless(self.s1.is_connected())
123+        d.addCallback(_start)
124+
125+        # now shut down the server
126+        d.addCallback(lambda ign: self.clients[1].disownServiceParent())
127+        # and wait for the client to notice
128+        def _poll():
129+            return len(self.c0.storage_broker.get_connected_servers()) < 2
130+        d.addCallback(lambda ign: self.poll(_poll))
131+
132+        def _down(ign):
133+            self.failIf(self.s1.is_connected())
134+            rref = self.s1.get_rref()
135+            self.failUnless(rref)
136+            self.failUnlessIdentical(rref, self.s1_rref)
137+        d.addCallback(_down)
138+        return d
139}
140
141Context:
142
143[test_system.py: wait for the Helper connection properly before uploading
144Brian Warner <warner@lothar.com>**20120612061930
145 Ignore-this: e34a2cce7250e15000bf7a4c2798ccd2
146]
147[test_system.py: clean up control flow, reduce use of stall()
148Brian Warner <warner@lothar.com>**20120612012235
149 Ignore-this: e1bf1aa9bc981df34cd8e0dafce40041
150 
151 The _upload_resumable() test interrupts a Helper upload partway
152 through (by shutting down the Helper), then restarts the Helper and
153 resumes the upload. The control flow is kind of tricky: to do anything
154 "partway through" requires adding a hook to the Uploadable. The previous
155 flow depended upon a (fragile) call to self.stall(), which waits a fixed
156 number of seconds.
157 
158 This removes one of those stall() calls (the remainder is in
159 test/common.py and I'll try removing it in a subsequent revision). It
160 also removes some now-redundant wait_for_connections() calls, since
161 bounce_client() doesn't fire its Deferred until the client has finished
162 coming back up (and uses wait_for_connections() internally to do so).
163]
164[Since DeprecationWarning about twisted.internet.interfaces.IFinishableConsumer is suppressed globally, it doesn't need to be suppressed during import. refs #1295
165david-sarah@jacaranda.org**20120614213315
166 Ignore-this: 2a0cded7cab6052e348a3af6d46d0d7a
167]
168[misc/coding_tools/check-interfaces.py: clean-ups (warnings about Windows-specific modules and error stream handling).
169david-sarah@jacaranda.org**20120614212829
170 Ignore-this: 2033d237517525bfdf998a597bc13d13
171]
172[Suppress DeprecationWarning about twisted.internet.interfaces.IFinishableConsumer. This also unifies the handling of DeprecationWarnings that need to be suppressed globally. refs #1295
173david-sarah@jacaranda.org**20120614212308
174 Ignore-this: 44ef1c807f0ffd64712755c82d03a19
175]
176[test/common.py: fix race condition waiting for the helper connection
177Brian Warner <warner@lothar.com>**20120614191835
178 Ignore-this: c2fa3608dec9b1337ae557bd34874d97
179 
180 The wait_for_connections() method, which is used at the start of
181 test_system to make sure that all the clients are connected to all the
182 servers, did not also wait for clients to be connected to their Helpers.
183 Every once in a while, the helper connection would take a bit longer,
184 and then
185 test_system.SystemTest.test_filesystem._test_web._got_welcome_helper
186 would fail, because we'd check for a helper connection before it was
187 ready.
188 
189 The fix is to modify wait_for_connections's polling predicate to look
190 for helper connections (if configured) as well as the regular
191 introducer- and server- connections.
192 
193 Tested by temporarily adding a large (30s) delay to the connectTo() call
194 in Uploader.startService, simulating a long helper
195 connection-establishment delay. This makes the test fail consistently.
196 Then I fixed wait_for_connections(), and the test passed (slowly). Then
197 I removed the delay.
198 
199 Closes #1467
200]
201[offloaded.py: don't drop the Deferred
202Brian Warner <warner@lothar.com>**20120612011602
203 Ignore-this: fc71d431d616fbbb37946d6d75193485
204 
205 There was one corner case (where the client disconnects at just the
206 wrong time) that could have dropped a Deferred, leading to an Unhandled
207 Error. Clean up the control flow to avoid this case.
208]
209[test_system.py: fix minor typo
210Brian Warner <warner@lothar.com>**20120612011636
211 Ignore-this: a7fe88527daa9e6556f9c42d7b7f752e
212]
213[Clarify documentation of RIStorageServer.slot_testv_and_readv_and_writev. fixes #1744
214david-sarah@jacaranda.org**20120613165135
215 Ignore-this: d0fca05f06dd9998140d1031bebf8620
216]
217[Added docs/specifications/backends/raic.rst for ticket #1760
218Brian Warner <warner@lothar.com>**20120610193236
219 Ignore-this: 23eb716a368c0e442d8ce4a5bfa95959
220]
221[Fix text in Publish Status results. Closes #1762.
222Brian Warner <warner@lothar.com>**20120608222146
223 Ignore-this: 69690fc03c93e81e1d66efe77940745f
224]
225[docs/quickstart.rst: fix rst warning.
226david-sarah@jacaranda.org**20120601210104
227 Ignore-this: c98d18e2eb028011936ebffd855bf0ea
228]
229[Restore --rterrors option to 'setup.py test' and 'setup.py trial' to keep buildbots happy. refs #1699
230david-sarah@jacaranda.org**20120531222307
231 Ignore-this: 62b8798fa0b50441df64f50ed5f9a117
232]
233[Change 'setup.py test' and 'setup.py trial' to pass --rterrors to trial by default. Suppress using --no-rterrors. Also pass --until-failure/-u to trial. fixes #1699
234david-sarah@jacaranda.org**20120531220000
235 Ignore-this: 78bdfcfb1142ed260197996a3c1b22b1
236]
237[test_web.py: fix memory leak when run with --until-failure
238Brian Warner <warner@lothar.com>**20120522223949
239 Ignore-this: 17161fd0629fd86d4112220b13e10094
240 
241 The Fake*Node classes in test/common.py were accumulating share data in
242 a class-level dictionary, which persisted from one test run to the next.
243 As a result, running test_web.py over and over (with trial's
244 --until-failure feature) made this dictionary grow without bound,
245 eventually running out of memory.
246 
247 This fix moves that dictionary into the FakeClient built fresh for each
248 test, so it doesn't build up. It does the same thing for "file_types",
249 which was much smaller but still lived at the class level.
250 
251 Closes #1729
252]
253[docs/frontends/FTP-and-SFTP.rst: remove outdated allmydata.com reference. fixes #1743
254david-sarah@jacaranda.org**20120518225618
255 Ignore-this: a1e38e3f1d2138abd9d32087aeb71b3
256]
257[misc/build_helpers/check-interfaces.py: avoid spurious warnings about ignored exceptions on shutdown. Also make the check function able to write errors to an arbitrary stream.
258david-sarah@jacaranda.org**20120518021252
259 Ignore-this: 7d6b03286d7b1b4a726ff06f2c07f8c6
260]
261[dictutil.DictOfSets: remove .union() method, it was misleading
262Brian Warner <warner@lothar.com>**20120516235509
263 Ignore-this: ede3d11bf6de0d01f57b8bd85ff2da22
264 
265 Unlike set.union(), which returns a new set, DictOfSets.union() modified
266 the DictOfSets in-place. The name collision bit me when I changed some
267 code from using DictOfSets to a normal set, and expected that
268 set.union() would modify the set in-place. Since there was only one user
269 of DictOfSets.union, I figured it was safer to just get rid of it.
270]
271[immutable repairer: populate servers-responding properly
272Brian Warner <warner@lothar.com>**20120516235509
273 Ignore-this: d840f7dc056fa7efeaad1dd3f1c707c6
274 
275 If a server did not respond to the pre-repair filecheck, but did respond
276 to the repair, that server was not correctly added to the
277 RepairResults.data["servers-responding"] list. (This resulted from a
278 buggy usage of DictOfSets.union() in filenode.py).
279 
280 In addition, servers to which filecheck queries were sent, but did not
281 respond, were incorrectly added to the servers-responding list
282 anyawys. (This resulted from code in the checker.py not paying attention
283 to the 'responded' flag).
284 
285 The first bug was neatly masked by the second: it's pretty rare to have
286 a server suddenly start responding in the one-second window between a
287 filecheck and a subsequent repair, and if the server was around for the
288 filecheck, you'd never notice the problem. I only spotted the smelly
289 code while I was changing it for IServer cleanup purposes.
290 
291 I added coverage to test_repairer.py for this. Trying to get that test
292 to fail before fixing the first bug is what led me to discover the
293 second bug. I also had to update test_corrupt_file_verno, since it was
294 incorrectly asserting that 10 servers responded, when in fact one of
295 them throws an error (but the second bug was causing it to be reported
296 anyways).
297]
298[Update my (davidsarah) gpg fingerprint in CREDITS. Mwahaha! :-)
299david-sarah@jacaranda.org**20120516231526
300 Ignore-this: e65336db38ff2227e3d2cce8a31aa397
301]
302[Improve a comment in __init__.py.
303david-sarah@jacaranda.org**20120514163431
304 Ignore-this: bbdce3d50dce46e497eba71f9146079e
305]
306[Suppress the PowmInsecureWarning from PyCrypto. refs #1586
307david-sarah@jacaranda.org**20120514032352
308 Ignore-this: 9cfd6936bc31e320d1ea9d52a495dbaa
309]
310[test_web: improve shouldFail2() error reporting
311Brian Warner <warner@lothar.com>**20120509211837
312 Ignore-this: 2ab6738d46fead5b49496ba379fd1d98
313]
314[Change capitalization of WUI and introducer welcome page headings; add test for introducer welcome page. Also fix a typo in a CSS class name. fixes #1708
315david-sarah@jacaranda.org**20120405235723
316 Ignore-this: 9b0055847a793528a028679847ab493c
317]
318[Make the link on the Welcome page to 'https://tahoe-lafs.org/', not 'http:'. Includes a test. fixes #1682
319david-sarah@jacaranda.org**20120308231758
320 Ignore-this: b639c3da453b95ee7edca8090ea1b9aa
321]
322[Add nickname/nodeid to storage-status web page. Closes #1204.
323Brian Warner <warner@lothar.com>**20120313025736
324 Ignore-this: 78e533e06c390221edd66c45ec96e34a
325 
326 Also add tahoe.css to the page, to make it look slightly prettier.
327]
328[introducer web page: add CSS styling, roughly match client Welcome page
329Brian Warner <warner@lothar.com>**20120307022505
330 Ignore-this: bfc450f394578a3463f31acc1019862
331 
332 Also add /static and the top-level /tahoe.css -type stuff to the introducer's
333 web server.
334]
335[Tests for ref #1592.
336david-sarah@jacaranda.org**20111217043130
337 Ignore-this: a6713500ebe2d686581c6743b8a88f60
338]
339[test_web.py cleanup: use failUnlessIn/failIfIn in preference to 'in' operator.
340david-sarah@jacaranda.org**20111217042710
341 Ignore-this: c351f4b1d162eca545ba657dc3c70c19
342]
343[Marcus Wanner's favicon patch. fixes #1592
344david-sarah@jacaranda.org**20111217033201
345 Ignore-this: 3528c920379fe0d157441dafe9a7c5a8
346]
347[1585-webui.darcs.patch
348Marcus Wanner <marcus@wanners.net>**20111117214923
349 Ignore-this: 23cf2a06c545be5f821c071d652178ee
350]
351[Rewrite download-status-timeline visualizer ('viz') with d3.js
352Brian Warner <warner@lothar.com>**20111101061821
353 Ignore-this: 6149b027bbae52c559ef5a8167240cab
354 
355 * use d3.js v2.4.6
356 * add a "toggle misc events" button, to get hash/bitmap-checking details
357 * only draw data that's on screen, for speed
358 * add fragment-arg to fetch timeline data.json from somewhere else
359]
360[test/common.py: remove ununsed 'is_bad' mechanism
361Brian Warner <warner@lothar.com>**20120404191103
362 Ignore-this: 15b5d8d66e8ee902831b8171a9069763
363 
364 This was a premature feature addition to the mock filenode, and gets in the
365 way of the IServer refactoring I'm trying to do. Best to remove it now and
366 re-introduce it in a better form later when it's actually needed.
367]
368[make IServer instances retain identity in copy() and deepcopy()
369Brian Warner <warner@lothar.com>**20120404181409
370 Ignore-this: ff39267d0e967cc76591ba5166f63fc7
371]
372[move IServer from storage_client.py to interfaces.py
373Brian Warner <warner@lothar.com>**20120404181359
374 Ignore-this: 7713ad62faa2841659ce5ed287d0837b
375]
376[servermap.py: oops, fix _done() condition, good catch by davidsarah
377Brian Warner <warner@lothar.com>**20120401221034
378 Ignore-this: a5b0f61d83606ebf3493917e69ad4edf
379]
380[Mutable repair: use new MODE_REPAIR to query all servers *and* get privkey
381Brian Warner <warner@lothar.com>**20120331183902
382 Ignore-this: e518c5372afe27331e09f8d70c63764d
383 
384 This fixes bug #1689. Repair was using MODE_READ to build the servermap,
385 which doesn't try hard enough to grab the privkey, and also doesn't guarantee
386 sending queries to all servers. This patch adds a new MODE_REPAIR which does
387 both, and does a separate, distinct mapupdate to start wth repair cycle,
388 instead of relying upon the (MODE_CHECK) mapupdate leftover from the
389 filecheck that triggered the repair.
390]
391[Fix mutable status (mapupdate/retrieve/publish) to use serverids, not tubids
392Brian Warner <warner@lothar.com>**20120318000135
393 Ignore-this: 79354457b77fe2d8534fc0b792b6eb0c
394 
395 This still leaves immutable-publish results incorrectly using tubids instead
396 of serverids. That will need some more work, since it might change the Helper
397 interface.
398]
399[retrieve.py: unconditionally check share-hash-tree. Fixes #1654.
400Brian Warner <warner@lothar.com>**20120112213553
401 Ignore-this: 7ddc903a382b52bc014262b3b4099165
402 
403 Add Kevan's unit test, update known_issues.rst
404]
405[mutable/retrieve.py: clean up control flow to avoid dropping errors
406Brian Warner <warner@lothar.com>**20120108221248
407 Ignore-this: 4e991bdf6399439d2cee3d743814a327
408 
409 * replace DeferredList with gatherResults, simplify result handling
410 * use BadShareError to signal recoverable problems in either fetch or
411   validate, catch after _validate_block
412 * _validate_block is thus not responsible for noticing fetch problems
413 * rename _validation_or_decoding_failed() to _handle_bad_share()
414 * _get_needed_hashes() returns two Deferreds, instead of a hard-to-unpack
415   DeferredList
416]
417[mutable: don't tell server about corruption unless it's really CorruptShareError
418Brian Warner <warner@lothar.com>**20120108221245
419 Ignore-this: 90da01af1008477c45d333a0f74f1c5b
420]
421[test_mutable: don't use 75 shares (slow), now that the bug is fixed
422Brian Warner <warner@lothar.com>**20111228223819
423 Ignore-this: 930f1a24ebe9ed2ab25e4b2a16e36352
424 
425 I missed this part of Kevan's fix-1628.darcs.2.patch .
426]
427[mutable publish: fix not-enough-shares detection. Refs #1628.
428Brian Warner <warner@lothar.com>**20111228055018
429 Ignore-this: 23db08d8d630268e208e1755509adf92
430 
431 This should match the "fix-1628.darcs.2.patch" attachment on that ticket.
432]
433[mutable publish: track multiple servers-per-share. Fixes some of #1628.
434Brian Warner <warner@lothar.com>**20111228053358
435 Ignore-this: 6e8cb92e70273b81098f73ebf23164bd
436 
437 The remaining work is to write additional tests.
438 
439 src/allmydata/test/no_network.py:
440 
441  This supports tests in which servers leave the grid only to return with
442  their shares intact at a later time.
443 
444 src/allmydata/test/test_mutable.py:
445 
446  The UCWEs in the incident reports associated with #1628 all seem to be
447  associated with shares that the servermap knows about, but which aren't
448  accounted for during the publish process for whatever reason. Specifically,
449  it looks like the publisher is only capable of keeping track of a single
450  storage server for a given share. This makes the repair process worse than
451  it was pre-MDMF at updating all of the shares of a particular file to the
452  newest version, and can also cause spurious UCWEs. This test simulates such
453  a layout and fails if an UCWE is thrown. We need to write another test to
454  ensure that all copies of a share are updated to the latest version (or
455  alter this test to do that), so that the test suite doesn't pass unless both
456  regressions are fixed.
457 
458  We want the publisher to follow the existing share placement when uploading
459  a new version of a mutable file, and we don't want this test to pass unless
460  it does.
461 
462 src/allmydata/mutable/publish.py:
463 
464  Before this commit, the publisher only kept track of a single writer for
465  each share. This is insufficient to handle updates in which a single share
466  may live on multiple servers. In the best case, an update will only update
467  one of the existing shares instead of all of them. In some cases, the update
468  will encounter the existing shares when publishing some other share,
469  interpret it as a sign of an uncoordinated update, and fail. Keeping track
470  of all of the writers helps ensure that all existing shares are updated, and
471  helps avoid spurious uncoordinated write errors.
472]
473[IServer refactoring: pass IServer instances around, instead of peerids
474Brian Warner <warner@lothar.com>**20111101040319
475 Ignore-this: 35e4698a0273a0311fe0ccedcc7881b5
476 
477 refs #1363
478 
479 This collapses 88 small incremental changes (each of which passes all tests)
480 into one big patch. The development process for the long path started with
481 adding some temporary scaffolding, changing one method at a time, then
482 removing the scaffolding. The individual pieces are as follows, in reverse
483 chronological order (the first patch is at the end of this comment):
484 
485  commit 9bbe4174fd0d98a6cf47a8ef96e85d9ef34b2f9a
486  Author: Brian Warner <warner@lothar.com>
487  Date:   Tue Oct 4 16:05:00 2011 -0400
488 
489      immutable/downloader/status.py: correct comment
490 
491   src/allmydata/immutable/downloader/status.py |    2 +-
492   1 files changed, 1 insertions(+), 1 deletions(-)
493 
494  commit 72146a7c7c91eac2f7c3ceb801eb7a1721376889
495  Author: Brian Warner <warner@lothar.com>
496  Date:   Tue Oct 4 15:46:20 2011 -0400
497 
498      remove temporary ServerMap._storage_broker
499 
500   src/allmydata/mutable/checker.py   |    2 +-
501   src/allmydata/mutable/filenode.py  |    2 +-
502   src/allmydata/mutable/publish.py   |    2 +-
503   src/allmydata/mutable/servermap.py |    5 ++---
504   src/allmydata/test/test_mutable.py |    8 ++++----
505   5 files changed, 9 insertions(+), 10 deletions(-)
506 
507  commit d703096b41632c47d76414b12672e076a422ff5c
508  Author: Brian Warner <warner@lothar.com>
509  Date:   Tue Oct 4 15:37:05 2011 -0400
510 
511      remove temporary storage_broker.get_server_for_id()
512 
513   src/allmydata/storage_client.py  |    3 ---
514   src/allmydata/test/no_network.py |   13 -------------
515   2 files changed, 0 insertions(+), 16 deletions(-)
516 
517  commit 620cc5d80882ef6f7decfd26af8a6c7c1ddf80d1
518  Author: Brian Warner <warner@lothar.com>
519  Date:   Tue Oct 4 12:50:06 2011 -0400
520 
521      API of Retrieve._try_to_validate_privkey(), trying to remove reader.server
522 
523   src/allmydata/mutable/retrieve.py |   10 +++++-----
524   1 files changed, 5 insertions(+), 5 deletions(-)
525 
526  commit 92f43f856f4a8b36c207d1b190ed8699b5a4ecb4
527  Author: Brian Warner <warner@lothar.com>
528  Date:   Tue Oct 4 12:48:08 2011 -0400
529 
530      API of Retrieve._validate_block(), trying to remove reader.server
531 
532   src/allmydata/mutable/retrieve.py |   14 +++++++-------
533   1 files changed, 7 insertions(+), 7 deletions(-)
534 
535  commit 572d5070761861a2190349d1ed8d85dbc25698a5
536  Author: Brian Warner <warner@lothar.com>
537  Date:   Tue Oct 4 12:36:58 2011 -0400
538 
539      API of Retrieve._mark_bad_share(), trying to remove reader.server
540 
541   src/allmydata/mutable/retrieve.py |   21 +++++++++------------
542   1 files changed, 9 insertions(+), 12 deletions(-)
543 
544  commit a793ff00c0de1e2eec7b46288fdf388c7a2bec89
545  Author: Brian Warner <warner@lothar.com>
546  Date:   Tue Oct 4 12:06:13 2011 -0400
547 
548      remove now-unused get_rref_for_serverid()
549 
550   src/allmydata/mutable/servermap.py |    3 ---
551   1 files changed, 0 insertions(+), 3 deletions(-)
552 
553  commit 1b9827cc9366bf90b93297fdd6832f2ad0480ce7
554  Author: Brian Warner <warner@lothar.com>
555  Date:   Tue Oct 4 12:03:09 2011 -0400
556 
557      Retrieve: stop adding .serverid attributes to readers
558 
559   src/allmydata/mutable/retrieve.py |    1 -
560   1 files changed, 0 insertions(+), 1 deletions(-)
561 
562  commit 5d4e9d491b19e49d2e443a1dfff2c672842c36ef
563  Author: Brian Warner <warner@lothar.com>
564  Date:   Tue Oct 4 12:03:34 2011 -0400
565 
566      return value of Retrieve(verify=True)
567 
568   src/allmydata/mutable/checker.py  |   11 ++++++-----
569   src/allmydata/mutable/retrieve.py |    3 +--
570   2 files changed, 7 insertions(+), 7 deletions(-)
571 
572  commit e9ab7978c384e1f677cb7779dc449b1044face82
573  Author: Brian Warner <warner@lothar.com>
574  Date:   Tue Oct 4 11:54:23 2011 -0400
575 
576      Retrieve._bad_shares (but not return value, used by Verifier)
577 
578   src/allmydata/mutable/retrieve.py |    7 ++++---
579   1 files changed, 4 insertions(+), 3 deletions(-)
580 
581  commit 2d91926de233ec5c881f30e36b4a30ad92ab42a9
582  Author: Brian Warner <warner@lothar.com>
583  Date:   Tue Oct 4 11:51:23 2011 -0400
584 
585      Publish: stop adding .serverid attributes to writers
586 
587   src/allmydata/mutable/publish.py |    9 ++-------
588   1 files changed, 2 insertions(+), 7 deletions(-)
589 
590  commit 47c7a0105dec7cbf4f7e0a3ce800bbb85b15df4a
591  Author: Brian Warner <warner@lothar.com>
592  Date:   Tue Oct 4 11:56:33 2011 -0400
593 
594      API of get_write_enabler()
595 
596   src/allmydata/mutable/filenode.py |    7 ++++---
597   src/allmydata/mutable/publish.py  |    4 ++--
598   src/allmydata/test/no_network.py  |    3 +++
599   3 files changed, 9 insertions(+), 5 deletions(-)
600 
601  commit 9196a5c6590fdbfd660325ea8358b345887d3db0
602  Author: Brian Warner <warner@lothar.com>
603  Date:   Tue Oct 4 11:46:24 2011 -0400
604 
605      API of get_(renewal|cancel)_secret()
606 
607   src/allmydata/mutable/filenode.py  |   14 ++++++++------
608   src/allmydata/mutable/publish.py   |    8 ++++----
609   src/allmydata/mutable/servermap.py |    5 ++---
610   3 files changed, 14 insertions(+), 13 deletions(-)
611 
612  commit de7c1552f8c163eff5b6d820b5fb3b21c1b47cb5
613  Author: Brian Warner <warner@lothar.com>
614  Date:   Tue Oct 4 11:41:52 2011 -0400
615 
616      API of CorruptShareError. Also comment out some related+unused test_web.py code
617 
618   src/allmydata/mutable/common.py    |   13 +++++--------
619   src/allmydata/mutable/retrieve.py  |   10 +++++-----
620   src/allmydata/mutable/servermap.py |    8 +++-----
621   src/allmydata/test/common.py       |   13 ++++++++-----
622   4 files changed, 21 insertions(+), 23 deletions(-)
623 
624  commit 2c1c314046b620c16f1e66d030c150d768b7d01e
625  Author: Brian Warner <warner@lothar.com>
626  Date:   Tue Oct 4 12:01:46 2011 -0400
627 
628      API of ServerMap.mark_bad_share()
629 
630   src/allmydata/mutable/publish.py   |    2 +-
631   src/allmydata/mutable/retrieve.py  |    6 +++---
632   src/allmydata/mutable/servermap.py |    6 ++----
633   src/allmydata/test/test_mutable.py |    3 +--
634   4 files changed, 7 insertions(+), 10 deletions(-)
635 
636  commit 1bed349030779fd0c378ae4e821384f953c6f6ff
637  Author: Brian Warner <warner@lothar.com>
638  Date:   Tue Oct 4 11:11:17 2011 -0400
639 
640      API+name of ServerMap.shares_on_server() : only for tests, so debug_ prefix
641 
642   src/allmydata/mutable/servermap.py |    7 ++-----
643   src/allmydata/test/test_mutable.py |    6 +++---
644   2 files changed, 5 insertions(+), 8 deletions(-)
645 
646  commit 2d32e448677d6b818692e801045d4115b29abf21
647  Author: Brian Warner <warner@lothar.com>
648  Date:   Tue Oct 4 11:07:10 2011 -0400
649 
650      API of ServerMap.all_servers_for_version()
651 
652   src/allmydata/mutable/servermap.py |    4 ++--
653   1 files changed, 2 insertions(+), 2 deletions(-)
654 
655  commit 48f3204d1889c3e7179578125c4bdef515af3d6a
656  Author: Brian Warner <warner@lothar.com>
657  Date:   Tue Oct 4 11:04:50 2011 -0400
658 
659      internals of ServerMap methods that use make_versionmap(), remove temp copy
660 
661   src/allmydata/mutable/servermap.py |   28 +++++++++----------------
662   1 files changed, 10 insertions(+), 18 deletions(-)
663 
664  commit 5c3da77b6c777a145bd5ddfaa4db849dc9495548
665  Author: Brian Warner <warner@lothar.com>
666  Date:   Tue Oct 4 11:01:28 2011 -0400
667 
668      API of ServerMap.make_versionmap()
669 
670   src/allmydata/mutable/checker.py   |    4 ++--
671   src/allmydata/mutable/retrieve.py  |    5 ++---
672   src/allmydata/mutable/servermap.py |    4 ++--
673   src/allmydata/test/test_mutable.py |    7 ++++---
674   4 files changed, 10 insertions(+), 10 deletions(-)
675 
676  commit b6882ece49afb4c507d118af2db346fa329209dc
677  Author: Brian Warner <warner@lothar.com>
678  Date:   Tue Oct 4 10:53:38 2011 -0400
679 
680      make a copy of ServerMap.make_versionmap() (_make_versionmap2) for internal use
681 
682   src/allmydata/mutable/servermap.py |   18 +++++++++++++-----
683   1 files changed, 13 insertions(+), 5 deletions(-)
684 
685  commit 963f8e63faf32b950eb1b8103cd2ff16fe8f0151
686  Author: Brian Warner <warner@lothar.com>
687  Date:   Tue Oct 4 00:45:58 2011 -0400
688 
689      API of RetrieveStatus.add_problem()
690 
691   src/allmydata/mutable/retrieve.py |    5 +++--
692   1 files changed, 3 insertions(+), 2 deletions(-)
693 
694  commit 4976d29ffae565a048851601c29013bbae2976d8
695  Author: Brian Warner <warner@lothar.com>
696  Date:   Tue Oct 4 00:45:05 2011 -0400
697 
698      API of RetrieveStatus.add_fetch_timing()
699 
700   src/allmydata/mutable/retrieve.py |    5 +++--
701   1 files changed, 3 insertions(+), 2 deletions(-)
702 
703  commit d057d3bbba72663ee148a8b916bc2d52be2e3982
704  Author: Brian Warner <warner@lothar.com>
705  Date:   Tue Oct 4 00:44:04 2011 -0400
706 
707      API of Retrieve.notify_server_corruption()
708 
709   src/allmydata/mutable/retrieve.py |    6 +++---
710   1 files changed, 3 insertions(+), 3 deletions(-)
711 
712  commit 8a2a81e46671c860610e0e96d6add1a57551f22d
713  Author: Brian Warner <warner@lothar.com>
714  Date:   Tue Oct 4 00:42:32 2011 -0400
715 
716      remove unused _outstanding_queries
717 
718   src/allmydata/mutable/retrieve.py |    1 -
719   1 files changed, 0 insertions(+), 1 deletions(-)
720 
721  commit 56d12cc9968d03ccd53764455c671122c4f391d1
722  Author: Brian Warner <warner@lothar.com>
723  Date:   Tue Oct 4 00:40:57 2011 -0400
724 
725      change Retrieve.remaining_sharemap
726 
727   src/allmydata/mutable/retrieve.py |    4 ++--
728   1 files changed, 2 insertions(+), 2 deletions(-)
729 
730  commit 4f0b7af4821f43290bfc70f2b1fc30149ad81281
731  Author: Brian Warner <warner@lothar.com>
732  Date:   Tue Oct 4 10:40:18 2011 -0400
733 
734      accessor for PublishStatus._problems
735 
736   src/allmydata/mutable/publish.py |    4 +++-
737   src/allmydata/web/status.py      |    2 +-
738   2 files changed, 4 insertions(+), 2 deletions(-)
739 
740  commit 627087cf66d0b8cc519f4d551a967a7bd9b6a741
741  Author: Brian Warner <warner@lothar.com>
742  Date:   Tue Oct 4 10:36:39 2011 -0400
743 
744      accessor for RetrieveStatus._problems
745 
746   src/allmydata/mutable/retrieve.py |    8 ++++++--
747   src/allmydata/web/status.py       |    2 +-
748   2 files changed, 7 insertions(+), 3 deletions(-)
749 
750  commit ca7dea81f03801b1c7353fc00ecba689268109cf
751  Author: Brian Warner <warner@lothar.com>
752  Date:   Tue Oct 4 00:35:32 2011 -0400
753 
754      add .server to "reader", so we can get at it later
755 
756   src/allmydata/mutable/retrieve.py |    5 +++--
757   1 files changed, 3 insertions(+), 2 deletions(-)
758 
759  commit 6ef516e24908ec195af084a7550d1921a5e983b0
760  Author: Brian Warner <warner@lothar.com>
761  Date:   Tue Oct 4 00:32:32 2011 -0400
762 
763      temporarily give Retrieve a _storage_broker, so it can map serverids to servers
764 
765   src/allmydata/mutable/checker.py   |    3 ++-
766   src/allmydata/mutable/filenode.py  |    6 ++++--
767   src/allmydata/mutable/retrieve.py  |    5 +++--
768   src/allmydata/test/test_mutable.py |    4 ++--
769   4 files changed, 11 insertions(+), 7 deletions(-)
770 
771  commit afe08e4dd3f4ff9ff7e8a2a8d28b181e3625bcc9
772  Author: Brian Warner <warner@lothar.com>
773  Date:   Tue Oct 4 00:21:51 2011 -0400
774 
775      mutable/retrieve.py: s/peer/server/
776 
777   src/allmydata/mutable/retrieve.py  |   82 +++++++++++++-------------
778   src/allmydata/test/test_mutable.py |    6 +-
779   2 files changed, 44 insertions(+), 44 deletions(-)
780 
781  commit 910afcb5d7f274880f68dd6cdb5b05f2bbc29adc
782  Author: Brian Warner <warner@lothar.com>
783  Date:   Tue Oct 4 00:16:01 2011 -0400
784 
785      web.status.PublishStatusPage: add comment, I think .problems isn't exercised
786 
787   src/allmydata/web/status.py |    2 ++
788   1 files changed, 2 insertions(+), 0 deletions(-)
789 
790  commit 311466dd8c931bbba40d590ade867704282e7f1a
791  Author: Brian Warner <warner@lothar.com>
792  Date:   Mon Oct 3 23:48:16 2011 -0400
793 
794      API of PublishStatus.add_per_server_time()
795 
796   src/allmydata/mutable/publish.py |    5 +++--
797   1 files changed, 3 insertions(+), 2 deletions(-)
798 
799  commit 2df5faa1b6cbfbaded520d2320305a62fe961118
800  Author: Brian Warner <warner@lothar.com>
801  Date:   Mon Oct 3 23:46:37 2011 -0400
802 
803      more simplifications
804 
805   src/allmydata/mutable/publish.py |    4 +---
806   1 files changed, 1 insertions(+), 3 deletions(-)
807 
808  commit 6ac4544a3da385f2aad9392f906b90192f4f919a
809  Author: Brian Warner <warner@lothar.com>
810  Date:   Mon Oct 3 23:44:08 2011 -0400
811 
812      API of ServerMap.version_on_server()
813 
814   src/allmydata/mutable/publish.py   |    2 +-
815   src/allmydata/mutable/servermap.py |    4 ++--
816   src/allmydata/test/test_mutable.py |    5 ++---
817   3 files changed, 5 insertions(+), 6 deletions(-)
818 
819  commit 3e187e322511072e4683329df6b2c6c733a66dba
820  Author: Brian Warner <warner@lothar.com>
821  Date:   Tue Oct 4 00:16:32 2011 -0400
822 
823      API of ServerMap.make_sharemap()
824 
825   src/allmydata/mutable/servermap.py |    4 ++--
826   src/allmydata/test/test_mutable.py |    7 ++++---
827   src/allmydata/web/status.py        |    4 ++--
828   3 files changed, 8 insertions(+), 7 deletions(-)
829 
830  commit 318feed8437bdd8d4943c6569d38f7b54b6313cc
831  Author: Brian Warner <warner@lothar.com>
832  Date:   Mon Oct 3 23:36:19 2011 -0400
833 
834      small cleanups
835 
836   src/allmydata/mutable/publish.py |    4 ++--
837   1 files changed, 2 insertions(+), 2 deletions(-)
838 
839  commit bd459ed5714e1db5a7163935c54b7b0b56db8349
840  Author: Brian Warner <warner@lothar.com>
841  Date:   Mon Oct 3 23:33:39 2011 -0400
842 
843      API of ServerMap.add_new_share()
844 
845   src/allmydata/mutable/publish.py   |    4 ++--
846   src/allmydata/mutable/servermap.py |    6 ++----
847   2 files changed, 4 insertions(+), 6 deletions(-)
848 
849  commit f2804fb6ed11d80088e0da8ed48e6c2922f2ffef
850  Author: Brian Warner <warner@lothar.com>
851  Date:   Mon Oct 3 23:30:26 2011 -0400
852 
853      API of ServerMap.get_bad_shares()
854 
855   src/allmydata/mutable/publish.py   |    3 +--
856   src/allmydata/mutable/servermap.py |    9 ++++-----
857   2 files changed, 5 insertions(+), 7 deletions(-)
858 
859  commit 965074a47b3ce1431cb46d9a233840afcf9105f5
860  Author: Brian Warner <warner@lothar.com>
861  Date:   Mon Oct 3 23:26:58 2011 -0400
862 
863      more small cleanups
864 
865   src/allmydata/mutable/publish.py |    6 +++---
866   1 files changed, 3 insertions(+), 3 deletions(-)
867 
868  commit 38020da34f034f8889947dd3dc05e087ffff7106
869  Author: Brian Warner <warner@lothar.com>
870  Date:   Mon Oct 3 23:18:47 2011 -0400
871 
872      change Publish.bad_share_checkstrings
873 
874   src/allmydata/mutable/publish.py |    6 +++---
875   1 files changed, 3 insertions(+), 3 deletions(-)
876 
877  commit 5efebcbd2ee0c2f299ea86f7591d856c0f265304
878  Author: Brian Warner <warner@lothar.com>
879  Date:   Mon Oct 3 23:16:31 2011 -0400
880 
881      change internals of Publish.update_goal()
882 
883   src/allmydata/mutable/publish.py |    8 +++-----
884   1 files changed, 3 insertions(+), 5 deletions(-)
885 
886  commit e91b55ff4c2a69165b71f2c7b217ac319ff4c527
887  Author: Brian Warner <warner@lothar.com>
888  Date:   Mon Oct 3 23:11:42 2011 -0400
889 
890      get rid of Publish.connections
891 
892   src/allmydata/mutable/publish.py |   27 +++++----------------------
893   1 files changed, 5 insertions(+), 22 deletions(-)
894 
895  commit 64e9a53b3229ebe2f9ebf7ed502d539311d0e037
896  Author: Brian Warner <warner@lothar.com>
897  Date:   Mon Oct 3 23:05:32 2011 -0400
898 
899      change Publish.bad_servers
900 
901   src/allmydata/mutable/publish.py |   10 +++++-----
902   1 files changed, 5 insertions(+), 5 deletions(-)
903 
904  commit b85a934bef315a06bcfe00c9c12a3627fed2b918
905  Author: Brian Warner <warner@lothar.com>
906  Date:   Mon Oct 3 23:03:07 2011 -0400
907 
908      Publish.bad_servers: fix bug, this should be a set of serverids, not writers
909 
910   src/allmydata/mutable/publish.py |    2 +-
911   1 files changed, 1 insertions(+), 1 deletions(-)
912 
913  commit 605ea15ec15ed671513819003ccd211cdb9761e0
914  Author: Brian Warner <warner@lothar.com>
915  Date:   Mon Oct 3 23:00:21 2011 -0400
916 
917      change .placed
918 
919   src/allmydata/mutable/publish.py |    6 +++---
920   1 files changed, 3 insertions(+), 3 deletions(-)
921 
922  commit f7aba37b1b345d5b6d5cb16e3b3f6f3c1afb658e
923  Author: Brian Warner <warner@lothar.com>
924  Date:   Mon Oct 3 22:59:22 2011 -0400
925 
926      temporarily stash IServer as .server on the "writer" object
927 
928   src/allmydata/mutable/publish.py |    2 ++
929   1 files changed, 2 insertions(+), 0 deletions(-)
930 
931  commit f9b551d788e7db1f187fce5ab98ab5d5fe4e1c36
932  Author: Brian Warner <warner@lothar.com>
933  Date:   Mon Oct 3 22:48:18 2011 -0400
934 
935      change Publish.goal and API of log_goal() to use IServer, not serverid
936 
937   src/allmydata/mutable/publish.py |   48 ++++++++++++++--------------
938   1 files changed, 24 insertions(+), 24 deletions(-)
939 
940  commit 75f20616558e4900b8b1f685dd99aa838de6d452
941  Author: Brian Warner <warner@lothar.com>
942  Date:   Mon Oct 3 15:27:02 2011 -0400
943 
944      API of ServerMap.get_known_shares()
945 
946   src/allmydata/mutable/publish.py   |   16 ++++++++++------
947   src/allmydata/mutable/servermap.py |    7 ++-----
948   2 files changed, 12 insertions(+), 11 deletions(-)
949 
950  commit 1c38c9d37bb08221b4418762234b1a62397b3b4b
951  Author: Brian Warner <warner@lothar.com>
952  Date:   Mon Oct 3 15:20:29 2011 -0400
953 
954      Publish.full_serverlist
955 
956   src/allmydata/mutable/publish.py |   10 +++++-----
957   1 files changed, 5 insertions(+), 5 deletions(-)
958 
959  commit b6cbd215a04b9cde31a7d92a97a7f048622b16f1
960  Author: Brian Warner <warner@lothar.com>
961  Date:   Mon Oct 3 15:12:31 2011 -0400
962 
963      API of ServerMap.all_servers()
964 
965   src/allmydata/mutable/servermap.py |   19 ++++++-------------
966   1 files changed, 6 insertions(+), 13 deletions(-)
967 
968  commit e63cd0315fae65357b1727ec6d5ff3c6e0d27c98
969  Author: Brian Warner <warner@lothar.com>
970  Date:   Mon Oct 3 15:10:18 2011 -0400
971 
972      remove ServerMap.connections, set_rref_for_serverid()
973 
974   src/allmydata/mutable/servermap.py |   11 +----------
975   1 files changed, 1 insertions(+), 10 deletions(-)
976 
977  commit 4df52db2f80eb12eefa5d57103c24893cde89553
978  Author: Brian Warner <warner@lothar.com>
979  Date:   Mon Oct 3 15:04:06 2011 -0400
980 
981      API of ServerMap.mark_server_reachable()
982 
983   src/allmydata/mutable/servermap.py |    7 ++-----
984   1 files changed, 2 insertions(+), 5 deletions(-)
985 
986  commit 69c715bde77944dc25181b3dbbeb042c816f9a1b
987  Author: Brian Warner <warner@lothar.com>
988  Date:   Mon Oct 3 15:03:21 2011 -0400
989 
990      API of ServerMap.mark_server_unreachable()
991 
992   src/allmydata/mutable/servermap.py |    9 +++------
993   1 files changed, 3 insertions(+), 6 deletions(-)
994 
995  commit 3d784d60eec1c508858e3a617e4411ffbcc3c1fa
996  Author: Brian Warner <warner@lothar.com>
997  Date:   Mon Oct 3 15:02:03 2011 -0400
998 
999      API of status.set_privkey_from()
1000 
1001   src/allmydata/mutable/servermap.py |    7 +++----
1002   1 files changed, 3 insertions(+), 4 deletions(-)
1003 
1004  commit 544ed3ea29bed7e66da7fd29ca3f6f076f27a9e6
1005  Author: Brian Warner <warner@lothar.com>
1006  Date:   Mon Oct 3 15:01:15 2011 -0400
1007 
1008      API of status.add_per_server_time()
1009 
1010   src/allmydata/mutable/servermap.py |    7 ++++---
1011   1 files changed, 4 insertions(+), 3 deletions(-)
1012 
1013  commit fffe5008b6320bd1e04c3c68389a2bf2ee383fa8
1014  Author: Brian Warner <warner@lothar.com>
1015  Date:   Mon Oct 3 14:59:02 2011 -0400
1016 
1017      remove unused .versionmap
1018 
1019   src/allmydata/mutable/servermap.py |    7 -------
1020   1 files changed, 0 insertions(+), 7 deletions(-)
1021 
1022  commit 2816562e090d2294179db3588dafcca18de1bc2b
1023  Author: Brian Warner <warner@lothar.com>
1024  Date:   Mon Oct 3 14:57:51 2011 -0400
1025 
1026      remove serverid from all log messages. Also one unused lambda.
1027 
1028   src/allmydata/mutable/servermap.py |   30 +++++++++++++-------------
1029   1 files changed, 15 insertions(+), 15 deletions(-)
1030 
1031  commit 28fa6b1a2738fa98c1f1dbd3d0e01ae98912d11f
1032  Author: Brian Warner <warner@lothar.com>
1033  Date:   Mon Oct 3 14:54:30 2011 -0400
1034 
1035      removed unused _readers
1036 
1037   src/allmydata/mutable/servermap.py |    3 ---
1038   1 files changed, 0 insertions(+), 3 deletions(-)
1039 
1040  commit a8e4ed3d645ab592d1add6a1e69b6d1ebfb77817
1041  Author: Brian Warner <warner@lothar.com>
1042  Date:   Mon Oct 3 14:54:16 2011 -0400
1043 
1044      remove unused _sharemap
1045 
1046   src/allmydata/mutable/servermap.py |    1 -
1047   1 files changed, 0 insertions(+), 1 deletions(-)
1048 
1049  commit 3f072e55cf1d0700f9fffe23f8f3a475725df588
1050  Author: Brian Warner <warner@lothar.com>
1051  Date:   Mon Oct 3 14:49:03 2011 -0400
1052 
1053      _must_query
1054 
1055   src/allmydata/mutable/servermap.py |    8 ++++----
1056   1 files changed, 4 insertions(+), 4 deletions(-)
1057 
1058  commit c599a059b8df3f5785e4bf89fb6ecc6d8dcd708b
1059  Author: Brian Warner <warner@lothar.com>
1060  Date:   Mon Oct 3 14:48:05 2011 -0400
1061 
1062      _queries_outstanding
1063 
1064   src/allmydata/mutable/servermap.py |   16 +++++++---------
1065   1 files changed, 7 insertions(+), 9 deletions(-)
1066 
1067  commit 7743759f98ac2c07926b2fdbd80bf52dfab33085
1068  Author: Brian Warner <warner@lothar.com>
1069  Date:   Mon Oct 3 14:46:17 2011 -0400
1070 
1071      _empty_servers
1072 
1073   src/allmydata/mutable/servermap.py |    5 ++---
1074   1 files changed, 2 insertions(+), 3 deletions(-)
1075 
1076  commit 6bb1825916828a713a32cdf7f7411fa3ea2e1e5d
1077  Author: Brian Warner <warner@lothar.com>
1078  Date:   Mon Oct 3 14:45:39 2011 -0400
1079 
1080      _good_servers
1081 
1082   src/allmydata/mutable/servermap.py |    4 ++--
1083   1 files changed, 2 insertions(+), 2 deletions(-)
1084 
1085  commit 1768fab1b51d8dd93ecabbaaabfadfa20cf6c3d4
1086  Author: Brian Warner <warner@lothar.com>
1087  Date:   Mon Oct 3 14:44:59 2011 -0400
1088 
1089      _bad_servers
1090 
1091   src/allmydata/mutable/servermap.py |   14 +++++++-------
1092   1 files changed, 7 insertions(+), 7 deletions(-)
1093 
1094  commit dccbaef30f0ba714c746bf6d4a1a803c36e17b65
1095  Author: Brian Warner <warner@lothar.com>
1096  Date:   Mon Oct 3 14:41:54 2011 -0400
1097 
1098      API of _try_to_set_pubkey()
1099 
1100   src/allmydata/mutable/servermap.py |    7 ++++---
1101   1 files changed, 4 insertions(+), 3 deletions(-)
1102 
1103  commit 0481ea70042ba3575f15eac7fd0780f8ece580cc
1104  Author: Brian Warner <warner@lothar.com>
1105  Date:   Mon Oct 3 14:35:02 2011 -0400
1106 
1107      API of notify_server_corruption()
1108 
1109   src/allmydata/mutable/servermap.py |    6 +++---
1110   1 files changed, 3 insertions(+), 3 deletions(-)
1111 
1112  commit bea9cba18fb3b9c11bb22f18356a263ecec7351e
1113  Author: Brian Warner <warner@lothar.com>
1114  Date:   Mon Oct 3 14:34:09 2011 -0400
1115 
1116      API of _got_signature_one_share()
1117 
1118   src/allmydata/mutable/servermap.py |    9 +++++----
1119   1 files changed, 5 insertions(+), 4 deletions(-)
1120 
1121  commit 1520123583cf78650706e114b15bb5b0ac1f4a14
1122  Author: Brian Warner <warner@lothar.com>
1123  Date:   Mon Oct 3 14:32:33 2011 -0400
1124 
1125      API of _try_to_validate_privkey()
1126 
1127   src/allmydata/mutable/servermap.py |    9 +++++----
1128   1 files changed, 5 insertions(+), 4 deletions(-)
1129 
1130  commit 938852c9c8519c7a078f58a9b1f4dd8ec8b6715e
1131  Author: Brian Warner <warner@lothar.com>
1132  Date:   Mon Oct 3 14:31:48 2011 -0400
1133 
1134      API and internals of _add_lease_failed()
1135 
1136   src/allmydata/mutable/servermap.py |    8 ++++----
1137   1 files changed, 4 insertions(+), 4 deletions(-)
1138 
1139  commit 3843dba367e3c19e176a622ab853cb51d2472ddf
1140  Author: Brian Warner <warner@lothar.com>
1141  Date:   Mon Oct 3 14:30:37 2011 -0400
1142 
1143      API of _privkey_query_failed()
1144 
1145   src/allmydata/mutable/servermap.py |    5 +++--
1146   1 files changed, 3 insertions(+), 2 deletions(-)
1147 
1148  commit 2219a710e1633cd57d0ca0786490de87b3e19ba7
1149  Author: Brian Warner <warner@lothar.com>
1150  Date:   Mon Oct 3 14:29:43 2011 -0400
1151 
1152      fix bug in call to _privkey_query_failed, unrelated to refactoring
1153 
1154   src/allmydata/mutable/servermap.py |    2 +-
1155   1 files changed, 1 insertions(+), 1 deletions(-)
1156 
1157  commit ae615bec7d0d1b269710b6902797b12f9592ad62
1158  Author: Brian Warner <warner@lothar.com>
1159  Date:   Mon Oct 3 14:27:17 2011 -0400
1160 
1161      API of _got_corrupt_share()
1162 
1163   src/allmydata/mutable/servermap.py |   17 +++++++++--------
1164   1 files changed, 9 insertions(+), 8 deletions(-)
1165 
1166  commit cb51c95a6f4e077278157a77dab060c8c1ad7a81
1167  Author: Brian Warner <warner@lothar.com>
1168  Date:   Mon Oct 3 14:23:16 2011 -0400
1169 
1170      API of _got_results()
1171 
1172   src/allmydata/mutable/servermap.py |    9 +++++----
1173   1 files changed, 5 insertions(+), 4 deletions(-)
1174 
1175  commit bac9154fe0af18f226999a58ffc2362d8cf4b802
1176  Author: Brian Warner <warner@lothar.com>
1177  Date:   Mon Oct 3 14:19:19 2011 -0400
1178 
1179      API of _query_failed()
1180 
1181   src/allmydata/mutable/servermap.py |    5 +++--
1182   1 files changed, 3 insertions(+), 2 deletions(-)
1183 
1184  commit fdc29a8ca95d4b5c503e5382b9e5d4d02141ba12
1185  Author: Brian Warner <warner@lothar.com>
1186  Date:   Mon Oct 3 14:17:20 2011 -0400
1187 
1188      API of _do_read()
1189 
1190   src/allmydata/mutable/servermap.py |    6 ++++--
1191   1 files changed, 4 insertions(+), 2 deletions(-)
1192 
1193  commit e7e9e338f28d004aa4d423d11c65f1e271ac7322
1194  Author: Brian Warner <warner@lothar.com>
1195  Date:   Mon Oct 3 14:20:21 2011 -0400
1196 
1197      API of _do_query()
1198 
1199   src/allmydata/mutable/servermap.py |   15 +++++++--------
1200   1 files changed, 7 insertions(+), 8 deletions(-)
1201 
1202  commit 330625b9dac4cdbe72a11464a893065b9aeed453
1203  Author: Brian Warner <warner@lothar.com>
1204  Date:   Mon Oct 3 14:43:05 2011 -0400
1205 
1206      next step: first batch of updates to ServermapUpdater
1207 
1208      updates:
1209       most method-local variables in update()
1210       API of _build_initial_querylist()
1211       API of _send_initial_requests()
1212       .full_serverlist
1213       .extra_servers
1214 
1215   src/allmydata/mutable/servermap.py |   39 ++++++++++++++------------
1216   1 files changed, 21 insertions(+), 18 deletions(-)
1217 
1218  commit 4aadc584fa7dcb2daa86b048c81dee0049ba26d9
1219  Author: Brian Warner <warner@lothar.com>
1220  Date:   Mon Oct 3 15:07:00 2011 -0400
1221 
1222      internal change: index _bad_shares with IServer
1223 
1224   src/allmydata/mutable/servermap.py |   20 ++++++++++----------
1225   1 files changed, 10 insertions(+), 10 deletions(-)
1226 
1227  commit 16d4e6fa82a9907dbdc92094213387c6a4164e41
1228  Author: Brian Warner <warner@lothar.com>
1229  Date:   Mon Oct 3 18:20:47 2011 +0100
1230 
1231      internal change: index _known_shares with IServer instead of serverid
1232 
1233      callers are unchanged
1234 
1235   src/allmydata/mutable/servermap.py |   42 +++++++++++++++----------
1236   1 files changed, 25 insertions(+), 17 deletions(-)
1237 
1238  commit ceeb5f4938cc814a0c75d1b8f4018aed965c2176
1239  Author: Brian Warner <warner@lothar.com>
1240  Date:   Mon Oct 3 18:11:43 2011 +0100
1241 
1242      accessors and name cleanup for servermap.Servermap.last_update_mode/time
1243 
1244   src/allmydata/mutable/filenode.py  |    6 +++---
1245   src/allmydata/mutable/publish.py   |    4 ++--
1246   src/allmydata/mutable/servermap.py |   17 +++++++++++------
1247   3 files changed, 16 insertions(+), 11 deletions(-)
1248 
1249  commit 8d3cbda82661c0a7e5c3d3b65cf7a5d5ab7e32c0
1250  Author: Brian Warner <warner@lothar.com>
1251  Date:   Mon Oct 3 18:11:14 2011 +0100
1252 
1253      accessors and name cleanup for servermap.Servermap.problems
1254 
1255   src/allmydata/mutable/servermap.py |   21 +++++++++++++--------
1256   src/allmydata/test/test_mutable.py |    6 +++---
1257   2 files changed, 16 insertions(+), 11 deletions(-)
1258 
1259  commit 348f57988f79389db0aab7672e6eaa9a6d8e3219
1260  Author: Brian Warner <warner@lothar.com>
1261  Date:   Mon Oct 3 18:10:41 2011 +0100
1262 
1263      accessors and name cleanup for servermap.Servermap.bad_shares
1264 
1265   src/allmydata/mutable/publish.py   |    2 +-
1266   src/allmydata/mutable/servermap.py |   30 ++++++++++++++-----------
1267   2 files changed, 18 insertions(+), 14 deletions(-)
1268 
1269  commit 520c9368134673cdf76c653c5e1bb91c2ab5d51e
1270  Author: Brian Warner <warner@lothar.com>
1271  Date:   Mon Oct 3 18:10:05 2011 +0100
1272 
1273      accessors and name cleanup for servermap.Servermap.servermap .
1274 
1275   src/allmydata/mutable/publish.py   |   14 +++++----
1276   src/allmydata/mutable/servermap.py |   38 ++++++++++++++-----------
1277   2 files changed, 29 insertions(+), 23 deletions(-)
1278 
1279  commit b8b8dc38287a91dbdf494426ac801d9381ce5841
1280  Author: Brian Warner <warner@lothar.com>
1281  Date:   Mon Oct 3 18:08:02 2011 +0100
1282 
1283      fix reachable_servers
1284 
1285   src/allmydata/mutable/checker.py   |    3 ++-
1286   src/allmydata/mutable/publish.py   |    4 +++-
1287   src/allmydata/mutable/servermap.py |   12 ++++++++++--
1288   3 files changed, 15 insertions(+), 4 deletions(-)
1289 
1290  commit cb0cfd1adfefad357c187aaaf690c3df68b622bc
1291  Author: Brian Warner <warner@lothar.com>
1292  Date:   Mon Oct 3 18:06:03 2011 +0100
1293 
1294      fix Servermap.unreachable_servers
1295 
1296   src/allmydata/mutable/servermap.py |   11 ++++++++---
1297   1 files changed, 8 insertions(+), 3 deletions(-)
1298 
1299  commit 2d9ea79b94bd4db674d40386fda90825785ac495
1300  Author: Brian Warner <warner@lothar.com>
1301  Date:   Mon Oct 3 18:03:48 2011 +0100
1302 
1303      give ServerMap a StorageFarmBroker, temporary
1304 
1305      this makes it possible for the ServerMap to accept bare serverids and still
1306      build data structures with IServers
1307 
1308   src/allmydata/mutable/checker.py   |    2 +-
1309   src/allmydata/mutable/filenode.py  |    2 +-
1310   src/allmydata/mutable/publish.py   |    2 +-
1311   src/allmydata/mutable/servermap.py |    5 +++--
1312   src/allmydata/test/test_mutable.py |    8 ++++----
1313   5 files changed, 10 insertions(+), 9 deletions(-)
1314 
1315  commit 718d1aeff6fded893f65397806d22ece928b0dd4
1316  Author: Brian Warner <warner@lothar.com>
1317  Date:   Mon Oct 3 13:43:30 2011 -0400
1318 
1319      add StorageFarmBroker.get_server_for_id(), temporary helper
1320 
1321      This will go away once we're passing IServers everywhere.
1322 
1323   src/allmydata/storage_client.py  |    2 ++
1324   src/allmydata/test/no_network.py |   13 +++++++++++++
1325   2 files changed, 15 insertions(+), 0 deletions(-)
1326 
1327  commit ece20231d7fda0d503704842a4aa068dfbc2e54e
1328  Author: Brian Warner <warner@lothar.com>
1329  Date:   Sun Oct 2 01:11:50 2011 +0100
1330 
1331      add proper accessors for Servermap.connections, to make refactoring easier
1332 
1333   src/allmydata/mutable/publish.py   |    6 +++---
1334   src/allmydata/mutable/retrieve.py  |   10 +++++-----
1335   src/allmydata/mutable/servermap.py |   17 +++++++++++------
1336   3 files changed, 19 insertions(+), 14 deletions(-)
1337 
1338  commit 3b943d6bf302ff702668081a612fc4fe2604cf9c
1339  Author: Brian Warner <warner@lothar.com>
1340  Date:   Fri Sep 23 10:34:30 2011 -0700
1341 
1342      mutable/servermap.py and neighbors: s/peer/server/
1343 
1344   src/allmydata/mutable/checker.py   |   22 +-
1345   src/allmydata/mutable/publish.py   |  204 +++++++-------
1346   src/allmydata/mutable/servermap.py |  402 +++++++++++++-------------
1347   src/allmydata/test/test_mutable.py |   18 +-
1348   4 files changed, 323 insertions(+), 323 deletions(-)
1349 IServer refactoring: pass IServer instances around, instead of peerids
1350 
1351 refs #1363
1352 
1353 This collapses 88 small incremental changes (each of which passes all tests)
1354 into one big patch. The development process for the long path started with
1355 adding some temporary scaffolding, changing one method at a time, then
1356 removing the scaffolding. The individual pieces are as follows, in reverse
1357 chronological order (the first patch is at the end of this comment):
1358 
1359  commit 9bbe4174fd0d98a6cf47a8ef96e85d9ef34b2f9a
1360  Author: Brian Warner <warner@lothar.com>
1361  Date:   Tue Oct 4 16:05:00 2011 -0400
1362 
1363      immutable/downloader/status.py: correct comment
1364 
1365   src/allmydata/immutable/downloader/status.py |    2 +-
1366   1 files changed, 1 insertions(+), 1 deletions(-)
1367 
1368  commit 72146a7c7c91eac2f7c3ceb801eb7a1721376889
1369  Author: Brian Warner <warner@lothar.com>
1370  Date:   Tue Oct 4 15:46:20 2011 -0400
1371 
1372      remove temporary ServerMap._storage_broker
1373 
1374   src/allmydata/mutable/checker.py   |    2 +-
1375   src/allmydata/mutable/filenode.py  |    2 +-
1376   src/allmydata/mutable/publish.py   |    2 +-
1377   src/allmydata/mutable/servermap.py |    5 ++---
1378   src/allmydata/test/test_mutable.py |    8 ++++----
1379   5 files changed, 9 insertions(+), 10 deletions(-)
1380 
1381  commit d703096b41632c47d76414b12672e076a422ff5c
1382  Author: Brian Warner <warner@lothar.com>
1383  Date:   Tue Oct 4 15:37:05 2011 -0400
1384 
1385      remove temporary storage_broker.get_server_for_id()
1386 
1387   src/allmydata/storage_client.py  |    3 ---
1388   src/allmydata/test/no_network.py |   13 -------------
1389   2 files changed, 0 insertions(+), 16 deletions(-)
1390 
1391  commit 620cc5d80882ef6f7decfd26af8a6c7c1ddf80d1
1392  Author: Brian Warner <warner@lothar.com>
1393  Date:   Tue Oct 4 12:50:06 2011 -0400
1394 
1395      API of Retrieve._try_to_validate_privkey(), trying to remove reader.server
1396 
1397   src/allmydata/mutable/retrieve.py |   10 +++++-----
1398   1 files changed, 5 insertions(+), 5 deletions(-)
1399 
1400  commit 92f43f856f4a8b36c207d1b190ed8699b5a4ecb4
1401  Author: Brian Warner <warner@lothar.com>
1402  Date:   Tue Oct 4 12:48:08 2011 -0400
1403 
1404      API of Retrieve._validate_block(), trying to remove reader.server
1405 
1406   src/allmydata/mutable/retrieve.py |   14 +++++++-------
1407   1 files changed, 7 insertions(+), 7 deletions(-)
1408 
1409  commit 572d5070761861a2190349d1ed8d85dbc25698a5
1410  Author: Brian Warner <warner@lothar.com>
1411  Date:   Tue Oct 4 12:36:58 2011 -0400
1412 
1413      API of Retrieve._mark_bad_share(), trying to remove reader.server
1414 
1415   src/allmydata/mutable/retrieve.py |   21 +++++++++------------
1416   1 files changed, 9 insertions(+), 12 deletions(-)
1417 
1418  commit a793ff00c0de1e2eec7b46288fdf388c7a2bec89
1419  Author: Brian Warner <warner@lothar.com>
1420  Date:   Tue Oct 4 12:06:13 2011 -0400
1421 
1422      remove now-unused get_rref_for_serverid()
1423 
1424   src/allmydata/mutable/servermap.py |    3 ---
1425   1 files changed, 0 insertions(+), 3 deletions(-)
1426 
1427  commit 1b9827cc9366bf90b93297fdd6832f2ad0480ce7
1428  Author: Brian Warner <warner@lothar.com>
1429  Date:   Tue Oct 4 12:03:09 2011 -0400
1430 
1431      Retrieve: stop adding .serverid attributes to readers
1432 
1433   src/allmydata/mutable/retrieve.py |    1 -
1434   1 files changed, 0 insertions(+), 1 deletions(-)
1435 
1436  commit 5d4e9d491b19e49d2e443a1dfff2c672842c36ef
1437  Author: Brian Warner <warner@lothar.com>
1438  Date:   Tue Oct 4 12:03:34 2011 -0400
1439 
1440      return value of Retrieve(verify=True)
1441 
1442   src/allmydata/mutable/checker.py  |   11 ++++++-----
1443   src/allmydata/mutable/retrieve.py |    3 +--
1444   2 files changed, 7 insertions(+), 7 deletions(-)
1445 
1446  commit e9ab7978c384e1f677cb7779dc449b1044face82
1447  Author: Brian Warner <warner@lothar.com>
1448  Date:   Tue Oct 4 11:54:23 2011 -0400
1449 
1450      Retrieve._bad_shares (but not return value, used by Verifier)
1451 
1452   src/allmydata/mutable/retrieve.py |    7 ++++---
1453   1 files changed, 4 insertions(+), 3 deletions(-)
1454 
1455  commit 2d91926de233ec5c881f30e36b4a30ad92ab42a9
1456  Author: Brian Warner <warner@lothar.com>
1457  Date:   Tue Oct 4 11:51:23 2011 -0400
1458 
1459      Publish: stop adding .serverid attributes to writers
1460 
1461   src/allmydata/mutable/publish.py |    9 ++-------
1462   1 files changed, 2 insertions(+), 7 deletions(-)
1463 
1464  commit 47c7a0105dec7cbf4f7e0a3ce800bbb85b15df4a
1465  Author: Brian Warner <warner@lothar.com>
1466  Date:   Tue Oct 4 11:56:33 2011 -0400
1467 
1468      API of get_write_enabler()
1469 
1470   src/allmydata/mutable/filenode.py |    7 ++++---
1471   src/allmydata/mutable/publish.py  |    4 ++--
1472   src/allmydata/test/no_network.py  |    3 +++
1473   3 files changed, 9 insertions(+), 5 deletions(-)
1474 
1475  commit 9196a5c6590fdbfd660325ea8358b345887d3db0
1476  Author: Brian Warner <warner@lothar.com>
1477  Date:   Tue Oct 4 11:46:24 2011 -0400
1478 
1479      API of get_(renewal|cancel)_secret()
1480 
1481   src/allmydata/mutable/filenode.py  |   14 ++++++++------
1482   src/allmydata/mutable/publish.py   |    8 ++++----
1483   src/allmydata/mutable/servermap.py |    5 ++---
1484   3 files changed, 14 insertions(+), 13 deletions(-)
1485 
1486  commit de7c1552f8c163eff5b6d820b5fb3b21c1b47cb5
1487  Author: Brian Warner <warner@lothar.com>
1488  Date:   Tue Oct 4 11:41:52 2011 -0400
1489 
1490      API of CorruptShareError. Also comment out some related+unused test_web.py code
1491 
1492   src/allmydata/mutable/common.py    |   13 +++++--------
1493   src/allmydata/mutable/retrieve.py  |   10 +++++-----
1494   src/allmydata/mutable/servermap.py |    8 +++-----
1495   src/allmydata/test/common.py       |   13 ++++++++-----
1496   4 files changed, 21 insertions(+), 23 deletions(-)
1497 
1498  commit 2c1c314046b620c16f1e66d030c150d768b7d01e
1499  Author: Brian Warner <warner@lothar.com>
1500  Date:   Tue Oct 4 12:01:46 2011 -0400
1501 
1502      API of ServerMap.mark_bad_share()
1503 
1504   src/allmydata/mutable/publish.py   |    2 +-
1505   src/allmydata/mutable/retrieve.py  |    6 +++---
1506   src/allmydata/mutable/servermap.py |    6 ++----
1507   src/allmydata/test/test_mutable.py |    3 +--
1508   4 files changed, 7 insertions(+), 10 deletions(-)
1509 
1510  commit 1bed349030779fd0c378ae4e821384f953c6f6ff
1511  Author: Brian Warner <warner@lothar.com>
1512  Date:   Tue Oct 4 11:11:17 2011 -0400
1513 
1514      API+name of ServerMap.shares_on_server() : only for tests, so debug_ prefix
1515 
1516   src/allmydata/mutable/servermap.py |    7 ++-----
1517   src/allmydata/test/test_mutable.py |    6 +++---
1518   2 files changed, 5 insertions(+), 8 deletions(-)
1519 
1520  commit 2d32e448677d6b818692e801045d4115b29abf21
1521  Author: Brian Warner <warner@lothar.com>
1522  Date:   Tue Oct 4 11:07:10 2011 -0400
1523 
1524      API of ServerMap.all_servers_for_version()
1525 
1526   src/allmydata/mutable/servermap.py |    4 ++--
1527   1 files changed, 2 insertions(+), 2 deletions(-)
1528 
1529  commit 48f3204d1889c3e7179578125c4bdef515af3d6a
1530  Author: Brian Warner <warner@lothar.com>
1531  Date:   Tue Oct 4 11:04:50 2011 -0400
1532 
1533      internals of ServerMap methods that use make_versionmap(), remove temp copy
1534 
1535   src/allmydata/mutable/servermap.py |   28 +++++++++----------------
1536   1 files changed, 10 insertions(+), 18 deletions(-)
1537 
1538  commit 5c3da77b6c777a145bd5ddfaa4db849dc9495548
1539  Author: Brian Warner <warner@lothar.com>
1540  Date:   Tue Oct 4 11:01:28 2011 -0400
1541 
1542      API of ServerMap.make_versionmap()
1543 
1544   src/allmydata/mutable/checker.py   |    4 ++--
1545   src/allmydata/mutable/retrieve.py  |    5 ++---
1546   src/allmydata/mutable/servermap.py |    4 ++--
1547   src/allmydata/test/test_mutable.py |    7 ++++---
1548   4 files changed, 10 insertions(+), 10 deletions(-)
1549 
1550  commit b6882ece49afb4c507d118af2db346fa329209dc
1551  Author: Brian Warner <warner@lothar.com>
1552  Date:   Tue Oct 4 10:53:38 2011 -0400
1553 
1554      make a copy of ServerMap.make_versionmap() (_make_versionmap2) for internal use
1555 
1556   src/allmydata/mutable/servermap.py |   18 +++++++++++++-----
1557   1 files changed, 13 insertions(+), 5 deletions(-)
1558 
1559  commit 963f8e63faf32b950eb1b8103cd2ff16fe8f0151
1560  Author: Brian Warner <warner@lothar.com>
1561  Date:   Tue Oct 4 00:45:58 2011 -0400
1562 
1563      API of RetrieveStatus.add_problem()
1564 
1565   src/allmydata/mutable/retrieve.py |    5 +++--
1566   1 files changed, 3 insertions(+), 2 deletions(-)
1567 
1568  commit 4976d29ffae565a048851601c29013bbae2976d8
1569  Author: Brian Warner <warner@lothar.com>
1570  Date:   Tue Oct 4 00:45:05 2011 -0400
1571 
1572      API of RetrieveStatus.add_fetch_timing()
1573 
1574   src/allmydata/mutable/retrieve.py |    5 +++--
1575   1 files changed, 3 insertions(+), 2 deletions(-)
1576 
1577  commit d057d3bbba72663ee148a8b916bc2d52be2e3982
1578  Author: Brian Warner <warner@lothar.com>
1579  Date:   Tue Oct 4 00:44:04 2011 -0400
1580 
1581      API of Retrieve.notify_server_corruption()
1582 
1583   src/allmydata/mutable/retrieve.py |    6 +++---
1584   1 files changed, 3 insertions(+), 3 deletions(-)
1585 
1586  commit 8a2a81e46671c860610e0e96d6add1a57551f22d
1587  Author: Brian Warner <warner@lothar.com>
1588  Date:   Tue Oct 4 00:42:32 2011 -0400
1589 
1590      remove unused _outstanding_queries
1591 
1592   src/allmydata/mutable/retrieve.py |    1 -
1593   1 files changed, 0 insertions(+), 1 deletions(-)
1594 
1595  commit 56d12cc9968d03ccd53764455c671122c4f391d1
1596  Author: Brian Warner <warner@lothar.com>
1597  Date:   Tue Oct 4 00:40:57 2011 -0400
1598 
1599      change Retrieve.remaining_sharemap
1600 
1601   src/allmydata/mutable/retrieve.py |    4 ++--
1602   1 files changed, 2 insertions(+), 2 deletions(-)
1603 
1604  commit 4f0b7af4821f43290bfc70f2b1fc30149ad81281
1605  Author: Brian Warner <warner@lothar.com>
1606  Date:   Tue Oct 4 10:40:18 2011 -0400
1607 
1608      accessor for PublishStatus._problems
1609 
1610   src/allmydata/mutable/publish.py |    4 +++-
1611   src/allmydata/web/status.py      |    2 +-
1612   2 files changed, 4 insertions(+), 2 deletions(-)
1613 
1614  commit 627087cf66d0b8cc519f4d551a967a7bd9b6a741
1615  Author: Brian Warner <warner@lothar.com>
1616  Date:   Tue Oct 4 10:36:39 2011 -0400
1617 
1618      accessor for RetrieveStatus._problems
1619 
1620   src/allmydata/mutable/retrieve.py |    8 ++++++--
1621   src/allmydata/web/status.py       |    2 +-
1622   2 files changed, 7 insertions(+), 3 deletions(-)
1623 
1624  commit ca7dea81f03801b1c7353fc00ecba689268109cf
1625  Author: Brian Warner <warner@lothar.com>
1626  Date:   Tue Oct 4 00:35:32 2011 -0400
1627 
1628      add .server to "reader", so we can get at it later
1629 
1630   src/allmydata/mutable/retrieve.py |    5 +++--
1631   1 files changed, 3 insertions(+), 2 deletions(-)
1632 
1633  commit 6ef516e24908ec195af084a7550d1921a5e983b0
1634  Author: Brian Warner <warner@lothar.com>
1635  Date:   Tue Oct 4 00:32:32 2011 -0400
1636 
1637      temporarily give Retrieve a _storage_broker, so it can map serverids to servers
1638 
1639   src/allmydata/mutable/checker.py   |    3 ++-
1640   src/allmydata/mutable/filenode.py  |    6 ++++--
1641   src/allmydata/mutable/retrieve.py  |    5 +++--
1642   src/allmydata/test/test_mutable.py |    4 ++--
1643   4 files changed, 11 insertions(+), 7 deletions(-)
1644 
1645  commit afe08e4dd3f4ff9ff7e8a2a8d28b181e3625bcc9
1646  Author: Brian Warner <warner@lothar.com>
1647  Date:   Tue Oct 4 00:21:51 2011 -0400
1648 
1649      mutable/retrieve.py: s/peer/server/
1650 
1651   src/allmydata/mutable/retrieve.py  |   82 +++++++++++++-------------
1652   src/allmydata/test/test_mutable.py |    6 +-
1653   2 files changed, 44 insertions(+), 44 deletions(-)
1654 
1655  commit 910afcb5d7f274880f68dd6cdb5b05f2bbc29adc
1656  Author: Brian Warner <warner@lothar.com>
1657  Date:   Tue Oct 4 00:16:01 2011 -0400
1658 
1659      web.status.PublishStatusPage: add comment, I think .problems isn't exercised
1660 
1661   src/allmydata/web/status.py |    2 ++
1662   1 files changed, 2 insertions(+), 0 deletions(-)
1663 
1664  commit 311466dd8c931bbba40d590ade867704282e7f1a
1665  Author: Brian Warner <warner@lothar.com>
1666  Date:   Mon Oct 3 23:48:16 2011 -0400
1667 
1668      API of PublishStatus.add_per_server_time()
1669 
1670   src/allmydata/mutable/publish.py |    5 +++--
1671   1 files changed, 3 insertions(+), 2 deletions(-)
1672 
1673  commit 2df5faa1b6cbfbaded520d2320305a62fe961118
1674  Author: Brian Warner <warner@lothar.com>
1675  Date:   Mon Oct 3 23:46:37 2011 -0400
1676 
1677      more simplifications
1678 
1679   src/allmydata/mutable/publish.py |    4 +---
1680   1 files changed, 1 insertions(+), 3 deletions(-)
1681 
1682  commit 6ac4544a3da385f2aad9392f906b90192f4f919a
1683  Author: Brian Warner <warner@lothar.com>
1684  Date:   Mon Oct 3 23:44:08 2011 -0400
1685 
1686      API of ServerMap.version_on_server()
1687 
1688   src/allmydata/mutable/publish.py   |    2 +-
1689   src/allmydata/mutable/servermap.py |    4 ++--
1690   src/allmydata/test/test_mutable.py |    5 ++---
1691   3 files changed, 5 insertions(+), 6 deletions(-)
1692 
1693  commit 3e187e322511072e4683329df6b2c6c733a66dba
1694  Author: Brian Warner <warner@lothar.com>
1695  Date:   Tue Oct 4 00:16:32 2011 -0400
1696 
1697      API of ServerMap.make_sharemap()
1698 
1699   src/allmydata/mutable/servermap.py |    4 ++--
1700   src/allmydata/test/test_mutable.py |    7 ++++---
1701   src/allmydata/web/status.py        |    4 ++--
1702   3 files changed, 8 insertions(+), 7 deletions(-)
1703 
1704  commit 318feed8437bdd8d4943c6569d38f7b54b6313cc
1705  Author: Brian Warner <warner@lothar.com>
1706  Date:   Mon Oct 3 23:36:19 2011 -0400
1707 
1708      small cleanups
1709 
1710   src/allmydata/mutable/publish.py |    4 ++--
1711   1 files changed, 2 insertions(+), 2 deletions(-)
1712 
1713  commit bd459ed5714e1db5a7163935c54b7b0b56db8349
1714  Author: Brian Warner <warner@lothar.com>
1715  Date:   Mon Oct 3 23:33:39 2011 -0400
1716 
1717      API of ServerMap.add_new_share()
1718 
1719   src/allmydata/mutable/publish.py   |    4 ++--
1720   src/allmydata/mutable/servermap.py |    6 ++----
1721   2 files changed, 4 insertions(+), 6 deletions(-)
1722 
1723  commit f2804fb6ed11d80088e0da8ed48e6c2922f2ffef
1724  Author: Brian Warner <warner@lothar.com>
1725  Date:   Mon Oct 3 23:30:26 2011 -0400
1726 
1727      API of ServerMap.get_bad_shares()
1728 
1729   src/allmydata/mutable/publish.py   |    3 +--
1730   src/allmydata/mutable/servermap.py |    9 ++++-----
1731   2 files changed, 5 insertions(+), 7 deletions(-)
1732 
1733  commit 965074a47b3ce1431cb46d9a233840afcf9105f5
1734  Author: Brian Warner <warner@lothar.com>
1735  Date:   Mon Oct 3 23:26:58 2011 -0400
1736 
1737      more small cleanups
1738 
1739   src/allmydata/mutable/publish.py |    6 +++---
1740   1 files changed, 3 insertions(+), 3 deletions(-)
1741 
1742  commit 38020da34f034f8889947dd3dc05e087ffff7106
1743  Author: Brian Warner <warner@lothar.com>
1744  Date:   Mon Oct 3 23:18:47 2011 -0400
1745 
1746      change Publish.bad_share_checkstrings
1747 
1748   src/allmydata/mutable/publish.py |    6 +++---
1749   1 files changed, 3 insertions(+), 3 deletions(-)
1750 
1751  commit 5efebcbd2ee0c2f299ea86f7591d856c0f265304
1752  Author: Brian Warner <warner@lothar.com>
1753  Date:   Mon Oct 3 23:16:31 2011 -0400
1754 
1755      change internals of Publish.update_goal()
1756 
1757   src/allmydata/mutable/publish.py |    8 +++-----
1758   1 files changed, 3 insertions(+), 5 deletions(-)
1759 
1760  commit e91b55ff4c2a69165b71f2c7b217ac319ff4c527
1761  Author: Brian Warner <warner@lothar.com>
1762  Date:   Mon Oct 3 23:11:42 2011 -0400
1763 
1764      get rid of Publish.connections
1765 
1766   src/allmydata/mutable/publish.py |   27 +++++----------------------
1767   1 files changed, 5 insertions(+), 22 deletions(-)
1768 
1769  commit 64e9a53b3229ebe2f9ebf7ed502d539311d0e037
1770  Author: Brian Warner <warner@lothar.com>
1771  Date:   Mon Oct 3 23:05:32 2011 -0400
1772 
1773      change Publish.bad_servers
1774 
1775   src/allmydata/mutable/publish.py |   10 +++++-----
1776   1 files changed, 5 insertions(+), 5 deletions(-)
1777 
1778  commit b85a934bef315a06bcfe00c9c12a3627fed2b918
1779  Author: Brian Warner <warner@lothar.com>
1780  Date:   Mon Oct 3 23:03:07 2011 -0400
1781 
1782      Publish.bad_servers: fix bug, this should be a set of serverids, not writers
1783 
1784   src/allmydata/mutable/publish.py |    2 +-
1785   1 files changed, 1 insertions(+), 1 deletions(-)
1786 
1787  commit 605ea15ec15ed671513819003ccd211cdb9761e0
1788  Author: Brian Warner <warner@lothar.com>
1789  Date:   Mon Oct 3 23:00:21 2011 -0400
1790 
1791      change .placed
1792 
1793   src/allmydata/mutable/publish.py |    6 +++---
1794   1 files changed, 3 insertions(+), 3 deletions(-)
1795 
1796  commit f7aba37b1b345d5b6d5cb16e3b3f6f3c1afb658e
1797  Author: Brian Warner <warner@lothar.com>
1798  Date:   Mon Oct 3 22:59:22 2011 -0400
1799 
1800      temporarily stash IServer as .server on the "writer" object
1801 
1802   src/allmydata/mutable/publish.py |    2 ++
1803   1 files changed, 2 insertions(+), 0 deletions(-)
1804 
1805  commit f9b551d788e7db1f187fce5ab98ab5d5fe4e1c36
1806  Author: Brian Warner <warner@lothar.com>
1807  Date:   Mon Oct 3 22:48:18 2011 -0400
1808 
1809      change Publish.goal and API of log_goal() to use IServer, not serverid
1810 
1811   src/allmydata/mutable/publish.py |   48 ++++++++++++++--------------
1812   1 files changed, 24 insertions(+), 24 deletions(-)
1813 
1814  commit 75f20616558e4900b8b1f685dd99aa838de6d452
1815  Author: Brian Warner <warner@lothar.com>
1816  Date:   Mon Oct 3 15:27:02 2011 -0400
1817 
1818      API of ServerMap.get_known_shares()
1819 
1820   src/allmydata/mutable/publish.py   |   16 ++++++++++------
1821   src/allmydata/mutable/servermap.py |    7 ++-----
1822   2 files changed, 12 insertions(+), 11 deletions(-)
1823 
1824  commit 1c38c9d37bb08221b4418762234b1a62397b3b4b
1825  Author: Brian Warner <warner@lothar.com>
1826  Date:   Mon Oct 3 15:20:29 2011 -0400
1827 
1828      Publish.full_serverlist
1829 
1830   src/allmydata/mutable/publish.py |   10 +++++-----
1831   1 files changed, 5 insertions(+), 5 deletions(-)
1832 
1833  commit b6cbd215a04b9cde31a7d92a97a7f048622b16f1
1834  Author: Brian Warner <warner@lothar.com>
1835  Date:   Mon Oct 3 15:12:31 2011 -0400
1836 
1837      API of ServerMap.all_servers()
1838 
1839   src/allmydata/mutable/servermap.py |   19 ++++++-------------
1840   1 files changed, 6 insertions(+), 13 deletions(-)
1841 
1842  commit e63cd0315fae65357b1727ec6d5ff3c6e0d27c98
1843  Author: Brian Warner <warner@lothar.com>
1844  Date:   Mon Oct 3 15:10:18 2011 -0400
1845 
1846      remove ServerMap.connections, set_rref_for_serverid()
1847 
1848   src/allmydata/mutable/servermap.py |   11 +----------
1849   1 files changed, 1 insertions(+), 10 deletions(-)
1850 
1851  commit 4df52db2f80eb12eefa5d57103c24893cde89553
1852  Author: Brian Warner <warner@lothar.com>
1853  Date:   Mon Oct 3 15:04:06 2011 -0400
1854 
1855      API of ServerMap.mark_server_reachable()
1856 
1857   src/allmydata/mutable/servermap.py |    7 ++-----
1858   1 files changed, 2 insertions(+), 5 deletions(-)
1859 
1860  commit 69c715bde77944dc25181b3dbbeb042c816f9a1b
1861  Author: Brian Warner <warner@lothar.com>
1862  Date:   Mon Oct 3 15:03:21 2011 -0400
1863 
1864      API of ServerMap.mark_server_unreachable()
1865 
1866   src/allmydata/mutable/servermap.py |    9 +++------
1867   1 files changed, 3 insertions(+), 6 deletions(-)
1868 
1869  commit 3d784d60eec1c508858e3a617e4411ffbcc3c1fa
1870  Author: Brian Warner <warner@lothar.com>
1871  Date:   Mon Oct 3 15:02:03 2011 -0400
1872 
1873      API of status.set_privkey_from()
1874 
1875   src/allmydata/mutable/servermap.py |    7 +++----
1876   1 files changed, 3 insertions(+), 4 deletions(-)
1877 
1878  commit 544ed3ea29bed7e66da7fd29ca3f6f076f27a9e6
1879  Author: Brian Warner <warner@lothar.com>
1880  Date:   Mon Oct 3 15:01:15 2011 -0400
1881 
1882      API of status.add_per_server_time()
1883 
1884   src/allmydata/mutable/servermap.py |    7 ++++---
1885   1 files changed, 4 insertions(+), 3 deletions(-)
1886 
1887  commit fffe5008b6320bd1e04c3c68389a2bf2ee383fa8
1888  Author: Brian Warner <warner@lothar.com>
1889  Date:   Mon Oct 3 14:59:02 2011 -0400
1890 
1891      remove unused .versionmap
1892 
1893   src/allmydata/mutable/servermap.py |    7 -------
1894   1 files changed, 0 insertions(+), 7 deletions(-)
1895 
1896  commit 2816562e090d2294179db3588dafcca18de1bc2b
1897  Author: Brian Warner <warner@lothar.com>
1898  Date:   Mon Oct 3 14:57:51 2011 -0400
1899 
1900      remove serverid from all log messages. Also one unused lambda.
1901 
1902   src/allmydata/mutable/servermap.py |   30 +++++++++++++-------------
1903   1 files changed, 15 insertions(+), 15 deletions(-)
1904 
1905  commit 28fa6b1a2738fa98c1f1dbd3d0e01ae98912d11f
1906  Author: Brian Warner <warner@lothar.com>
1907  Date:   Mon Oct 3 14:54:30 2011 -0400
1908 
1909      removed unused _readers
1910 
1911   src/allmydata/mutable/servermap.py |    3 ---
1912   1 files changed, 0 insertions(+), 3 deletions(-)
1913 
1914  commit a8e4ed3d645ab592d1add6a1e69b6d1ebfb77817
1915  Author: Brian Warner <warner@lothar.com>
1916  Date:   Mon Oct 3 14:54:16 2011 -0400
1917 
1918      remove unused _sharemap
1919 
1920   src/allmydata/mutable/servermap.py |    1 -
1921   1 files changed, 0 insertions(+), 1 deletions(-)
1922 
1923  commit 3f072e55cf1d0700f9fffe23f8f3a475725df588
1924  Author: Brian Warner <warner@lothar.com>
1925  Date:   Mon Oct 3 14:49:03 2011 -0400
1926 
1927      _must_query
1928 
1929   src/allmydata/mutable/servermap.py |    8 ++++----
1930   1 files changed, 4 insertions(+), 4 deletions(-)
1931 
1932  commit c599a059b8df3f5785e4bf89fb6ecc6d8dcd708b
1933  Author: Brian Warner <warner@lothar.com>
1934  Date:   Mon Oct 3 14:48:05 2011 -0400
1935 
1936      _queries_outstanding
1937 
1938   src/allmydata/mutable/servermap.py |   16 +++++++---------
1939   1 files changed, 7 insertions(+), 9 deletions(-)
1940 
1941  commit 7743759f98ac2c07926b2fdbd80bf52dfab33085
1942  Author: Brian Warner <warner@lothar.com>
1943  Date:   Mon Oct 3 14:46:17 2011 -0400
1944 
1945      _empty_servers
1946 
1947   src/allmydata/mutable/servermap.py |    5 ++---
1948   1 files changed, 2 insertions(+), 3 deletions(-)
1949 
1950  commit 6bb1825916828a713a32cdf7f7411fa3ea2e1e5d
1951  Author: Brian Warner <warner@lothar.com>
1952  Date:   Mon Oct 3 14:45:39 2011 -0400
1953 
1954      _good_servers
1955 
1956   src/allmydata/mutable/servermap.py |    4 ++--
1957   1 files changed, 2 insertions(+), 2 deletions(-)
1958 
1959  commit 1768fab1b51d8dd93ecabbaaabfadfa20cf6c3d4
1960  Author: Brian Warner <warner@lothar.com>
1961  Date:   Mon Oct 3 14:44:59 2011 -0400
1962 
1963      _bad_servers
1964 
1965   src/allmydata/mutable/servermap.py |   14 +++++++-------
1966   1 files changed, 7 insertions(+), 7 deletions(-)
1967 
1968  commit dccbaef30f0ba714c746bf6d4a1a803c36e17b65
1969  Author: Brian Warner <warner@lothar.com>
1970  Date:   Mon Oct 3 14:41:54 2011 -0400
1971 
1972      API of _try_to_set_pubkey()
1973 
1974   src/allmydata/mutable/servermap.py |    7 ++++---
1975   1 files changed, 4 insertions(+), 3 deletions(-)
1976 
1977  commit 0481ea70042ba3575f15eac7fd0780f8ece580cc
1978  Author: Brian Warner <warner@lothar.com>
1979  Date:   Mon Oct 3 14:35:02 2011 -0400
1980 
1981      API of notify_server_corruption()
1982 
1983   src/allmydata/mutable/servermap.py |    6 +++---
1984   1 files changed, 3 insertions(+), 3 deletions(-)
1985 
1986  commit bea9cba18fb3b9c11bb22f18356a263ecec7351e
1987  Author: Brian Warner <warner@lothar.com>
1988  Date:   Mon Oct 3 14:34:09 2011 -0400
1989 
1990      API of _got_signature_one_share()
1991 
1992   src/allmydata/mutable/servermap.py |    9 +++++----
1993   1 files changed, 5 insertions(+), 4 deletions(-)
1994 
1995  commit 1520123583cf78650706e114b15bb5b0ac1f4a14
1996  Author: Brian Warner <warner@lothar.com>
1997  Date:   Mon Oct 3 14:32:33 2011 -0400
1998 
1999      API of _try_to_validate_privkey()
2000 
2001   src/allmydata/mutable/servermap.py |    9 +++++----
2002   1 files changed, 5 insertions(+), 4 deletions(-)
2003 
2004  commit 938852c9c8519c7a078f58a9b1f4dd8ec8b6715e
2005  Author: Brian Warner <warner@lothar.com>
2006  Date:   Mon Oct 3 14:31:48 2011 -0400
2007 
2008      API and internals of _add_lease_failed()
2009 
2010   src/allmydata/mutable/servermap.py |    8 ++++----
2011   1 files changed, 4 insertions(+), 4 deletions(-)
2012 
2013  commit 3843dba367e3c19e176a622ab853cb51d2472ddf
2014  Author: Brian Warner <warner@lothar.com>
2015  Date:   Mon Oct 3 14:30:37 2011 -0400
2016 
2017      API of _privkey_query_failed()
2018 
2019   src/allmydata/mutable/servermap.py |    5 +++--
2020   1 files changed, 3 insertions(+), 2 deletions(-)
2021 
2022  commit 2219a710e1633cd57d0ca0786490de87b3e19ba7
2023  Author: Brian Warner <warner@lothar.com>
2024  Date:   Mon Oct 3 14:29:43 2011 -0400
2025 
2026      fix bug in call to _privkey_query_failed, unrelated to refactoring
2027 
2028   src/allmydata/mutable/servermap.py |    2 +-
2029   1 files changed, 1 insertions(+), 1 deletions(-)
2030 
2031  commit ae615bec7d0d1b269710b6902797b12f9592ad62
2032  Author: Brian Warner <warner@lothar.com>
2033  Date:   Mon Oct 3 14:27:17 2011 -0400
2034 
2035      API of _got_corrupt_share()
2036 
2037   src/allmydata/mutable/servermap.py |   17 +++++++++--------
2038   1 files changed, 9 insertions(+), 8 deletions(-)
2039 
2040  commit cb51c95a6f4e077278157a77dab060c8c1ad7a81
2041  Author: Brian Warner <warner@lothar.com>
2042  Date:   Mon Oct 3 14:23:16 2011 -0400
2043 
2044      API of _got_results()
2045 
2046   src/allmydata/mutable/servermap.py |    9 +++++----
2047   1 files changed, 5 insertions(+), 4 deletions(-)
2048 
2049  commit bac9154fe0af18f226999a58ffc2362d8cf4b802
2050  Author: Brian Warner <warner@lothar.com>
2051  Date:   Mon Oct 3 14:19:19 2011 -0400
2052 
2053      API of _query_failed()
2054 
2055   src/allmydata/mutable/servermap.py |    5 +++--
2056   1 files changed, 3 insertions(+), 2 deletions(-)
2057 
2058  commit fdc29a8ca95d4b5c503e5382b9e5d4d02141ba12
2059  Author: Brian Warner <warner@lothar.com>
2060  Date:   Mon Oct 3 14:17:20 2011 -0400
2061 
2062      API of _do_read()
2063 
2064   src/allmydata/mutable/servermap.py |    6 ++++--
2065   1 files changed, 4 insertions(+), 2 deletions(-)
2066 
2067  commit e7e9e338f28d004aa4d423d11c65f1e271ac7322
2068  Author: Brian Warner <warner@lothar.com>
2069  Date:   Mon Oct 3 14:20:21 2011 -0400
2070 
2071      API of _do_query()
2072 
2073   src/allmydata/mutable/servermap.py |   15 +++++++--------
2074   1 files changed, 7 insertions(+), 8 deletions(-)
2075 
2076  commit 330625b9dac4cdbe72a11464a893065b9aeed453
2077  Author: Brian Warner <warner@lothar.com>
2078  Date:   Mon Oct 3 14:43:05 2011 -0400
2079 
2080      next step: first batch of updates to ServermapUpdater
2081 
2082      updates:
2083       most method-local variables in update()
2084       API of _build_initial_querylist()
2085       API of _send_initial_requests()
2086       .full_serverlist
2087       .extra_servers
2088 
2089   src/allmydata/mutable/servermap.py |   39 ++++++++++++++------------
2090   1 files changed, 21 insertions(+), 18 deletions(-)
2091 
2092  commit 4aadc584fa7dcb2daa86b048c81dee0049ba26d9
2093  Author: Brian Warner <warner@lothar.com>
2094  Date:   Mon Oct 3 15:07:00 2011 -0400
2095 
2096      internal change: index _bad_shares with IServer
2097 
2098   src/allmydata/mutable/servermap.py |   20 ++++++++++----------
2099   1 files changed, 10 insertions(+), 10 deletions(-)
2100 
2101  commit 16d4e6fa82a9907dbdc92094213387c6a4164e41
2102  Author: Brian Warner <warner@lothar.com>
2103  Date:   Mon Oct 3 18:20:47 2011 +0100
2104 
2105      internal change: index _known_shares with IServer instead of serverid
2106 
2107      callers are unchanged
2108 
2109   src/allmydata/mutable/servermap.py |   42 +++++++++++++++----------
2110   1 files changed, 25 insertions(+), 17 deletions(-)
2111 
2112  commit ceeb5f4938cc814a0c75d1b8f4018aed965c2176
2113  Author: Brian Warner <warner@lothar.com>
2114  Date:   Mon Oct 3 18:11:43 2011 +0100
2115 
2116      accessors and name cleanup for servermap.Servermap.last_update_mode/time
2117 
2118   src/allmydata/mutable/filenode.py  |    6 +++---
2119   src/allmydata/mutable/publish.py   |    4 ++--
2120   src/allmydata/mutable/servermap.py |   17 +++++++++++------
2121   3 files changed, 16 insertions(+), 11 deletions(-)
2122 
2123  commit 8d3cbda82661c0a7e5c3d3b65cf7a5d5ab7e32c0
2124  Author: Brian Warner <warner@lothar.com>
2125  Date:   Mon Oct 3 18:11:14 2011 +0100
2126 
2127      accessors and name cleanup for servermap.Servermap.problems
2128 
2129   src/allmydata/mutable/servermap.py |   21 +++++++++++++--------
2130   src/allmydata/test/test_mutable.py |    6 +++---
2131   2 files changed, 16 insertions(+), 11 deletions(-)
2132 
2133  commit 348f57988f79389db0aab7672e6eaa9a6d8e3219
2134  Author: Brian Warner <warner@lothar.com>
2135  Date:   Mon Oct 3 18:10:41 2011 +0100
2136 
2137      accessors and name cleanup for servermap.Servermap.bad_shares
2138 
2139   src/allmydata/mutable/publish.py   |    2 +-
2140   src/allmydata/mutable/servermap.py |   30 ++++++++++++++-----------
2141   2 files changed, 18 insertions(+), 14 deletions(-)
2142 
2143  commit 520c9368134673cdf76c653c5e1bb91c2ab5d51e
2144  Author: Brian Warner <warner@lothar.com>
2145  Date:   Mon Oct 3 18:10:05 2011 +0100
2146 
2147      accessors and name cleanup for servermap.Servermap.servermap .
2148 
2149   src/allmydata/mutable/publish.py   |   14 +++++----
2150   src/allmydata/mutable/servermap.py |   38 ++++++++++++++-----------
2151   2 files changed, 29 insertions(+), 23 deletions(-)
2152 
2153  commit b8b8dc38287a91dbdf494426ac801d9381ce5841
2154  Author: Brian Warner <warner@lothar.com>
2155  Date:   Mon Oct 3 18:08:02 2011 +0100
2156 
2157      fix reachable_servers
2158 
2159   src/allmydata/mutable/checker.py   |    3 ++-
2160   src/allmydata/mutable/publish.py   |    4 +++-
2161   src/allmydata/mutable/servermap.py |   12 ++++++++++--
2162   3 files changed, 15 insertions(+), 4 deletions(-)
2163 
2164  commit cb0cfd1adfefad357c187aaaf690c3df68b622bc
2165  Author: Brian Warner <warner@lothar.com>
2166  Date:   Mon Oct 3 18:06:03 2011 +0100
2167 
2168      fix Servermap.unreachable_servers
2169 
2170   src/allmydata/mutable/servermap.py |   11 ++++++++---
2171   1 files changed, 8 insertions(+), 3 deletions(-)
2172 
2173  commit 2d9ea79b94bd4db674d40386fda90825785ac495
2174  Author: Brian Warner <warner@lothar.com>
2175  Date:   Mon Oct 3 18:03:48 2011 +0100
2176 
2177      give ServerMap a StorageFarmBroker, temporary
2178 
2179      this makes it possible for the ServerMap to accept bare serverids and still
2180      build data structures with IServers
2181 
2182   src/allmydata/mutable/checker.py   |    2 +-
2183   src/allmydata/mutable/filenode.py  |    2 +-
2184   src/allmydata/mutable/publish.py   |    2 +-
2185   src/allmydata/mutable/servermap.py |    5 +++--
2186   src/allmydata/test/test_mutable.py |    8 ++++----
2187   5 files changed, 10 insertions(+), 9 deletions(-)
2188 
2189  commit 718d1aeff6fded893f65397806d22ece928b0dd4
2190  Author: Brian Warner <warner@lothar.com>
2191  Date:   Mon Oct 3 13:43:30 2011 -0400
2192 
2193      add StorageFarmBroker.get_server_for_id(), temporary helper
2194 
2195      This will go away once we're passing IServers everywhere.
2196 
2197   src/allmydata/storage_client.py  |    2 ++
2198   src/allmydata/test/no_network.py |   13 +++++++++++++
2199   2 files changed, 15 insertions(+), 0 deletions(-)
2200 
2201  commit ece20231d7fda0d503704842a4aa068dfbc2e54e
2202  Author: Brian Warner <warner@lothar.com>
2203  Date:   Sun Oct 2 01:11:50 2011 +0100
2204 
2205      add proper accessors for Servermap.connections, to make refactoring easier
2206 
2207   src/allmydata/mutable/publish.py   |    6 +++---
2208   src/allmydata/mutable/retrieve.py  |   10 +++++-----
2209   src/allmydata/mutable/servermap.py |   17 +++++++++++------
2210   3 files changed, 19 insertions(+), 14 deletions(-)
2211 
2212  commit 3b943d6bf302ff702668081a612fc4fe2604cf9c
2213  Author: Brian Warner <warner@lothar.com>
2214  Date:   Fri Sep 23 10:34:30 2011 -0700
2215 
2216      mutable/servermap.py and neighbors: s/peer/server/
2217 
2218   src/allmydata/mutable/checker.py   |   22 +-
2219   src/allmydata/mutable/publish.py   |  204 +++++++-------
2220   src/allmydata/mutable/servermap.py |  402 +++++++++++++-------------
2221   src/allmydata/test/test_mutable.py |   18 +-
2222   4 files changed, 323 insertions(+), 323 deletions(-)
2223]
2224[Clarify an ambiguity about which version number is meant in quickstart.rst.
2225david-sarah@jacaranda.org**20120514002637
2226 Ignore-this: afac742bcfb4aba9021b07e7505d4de0
2227]
2228[performance.rst: small updates, mention (lack of) MDMF
2229Brian Warner <warner@lothar.com>**20120513210739
2230 Ignore-this: 8c8beb98b6be5f6b4697cf507798957f
2231 
2232 refs #1398
2233]
2234[CREDITS: add amiller, zooko, rearrange a bit
2235Brian Warner <warner@lothar.com>**20120513173217
2236 Ignore-this: 4db3b71cdaf52e1596532ac9133186ae
2237]
2238[Doc updates and cosmetic fixes for #1115 patch.
2239Brian Warner <warner@lothar.com>**20120513081550
2240 Ignore-this: 87721ec10d0aee1124f2f24bdaea3007
2241 
2242 Removes the caveat from webapi.txt about count-good-share-hosts being wrong.
2243 
2244 This series should close #1115.
2245]
2246[Fixed an error in previous commit where an empty servermap would throw an exception in 'count-good-share-hosts'. Augmented unit test.
2247Brian Warner <warner@lothar.com>**20120513075930
2248 Ignore-this: 8c8937b3b3e15c63d9386628493f394e
2249 
2250 Signed-off-by: Andrew Miller <amiller@dappervision.com>
2251]
2252[Added tests for count-good-share-hosts under check and repair conditions. Patched the incorrect computation in immutable/filenode.py
2253Brian Warner <warner@lothar.com>**20120513075930
2254 Ignore-this: 6a77a5058adf18bca0a3517a77cf6190
2255 
2256 Signed-off-by: Andrew Miller <amiller@dappervision.com>
2257 
2258 Fixed missing import statements
2259 
2260 Signed-off-by: Andrew Miller <amiller@dappervision.com>
2261]
2262[test_web: fix use of headers= that's been wrong for a while
2263Brian Warner <warner@lothar.com>**20120513074512
2264 Ignore-this: 681e1ac6eafd23a0babfe8f182e3ca8
2265]
2266[test-dont-use-too-old-dep.py: fix tarfile timestamps
2267Brian Warner <warner@lothar.com>**20120513063403
2268 Ignore-this: b7acb8e369d768e072f3658b2de9af03
2269 
2270 It turns out that TarFile.addfile() doesn't provide a reasonable default
2271 timestamp, resulting in files dated to 1970 (they're probably wearing
2272 bell-bottoms and listening to disco too). Then, when the bdist_egg command
2273 tries to create a *zip*file with those files, it explodes because zipfiles
2274 cannot handle timestamps before 1980 (it prefers boomboxes and jackets with
2275 straps on the shoulders, thank you very much).
2276 
2277 This puts a modern time.time() on the members of the tarfile, allowing future
2278 cryptocoderarchaeologists the opportunity to make fun of fashion trends from
2279 the user's chosen era, rather than an artificially older one.
2280 
2281 refs #1342
2282]
2283[modify build_helpers files
2284Brian Warner <warner@lothar.com>**20120513034724
2285 Ignore-this: 7f02472b3fbc2bfba4c02acce7d728e7
2286 
2287 Should close #1342. This makes the actual changes to the two test
2288 files (separated from the 'rename' patch to avoid VC complications).
2289]
2290[rename build_helpers files
2291Brian Warner <warner@lothar.com>**20120513034701
2292 Ignore-this: c1e7257dc66d0d35dcbc830fbe04ab9b
2293 
2294 This is from the darcs patch for #1342, which failed to apply on my darcs
2295 tree, so I'm landing it from git. I'm landing the rename-files part
2296 separately from the modify-those-files part to avoid VC complications.
2297]
2298[webapi: remove undocumented t=mkdir-p operation
2299Brian Warner <warner@lothar.com>**20120513021943
2300 Ignore-this: 10bc56cc8bef468881fc7dd5a586bdf9
2301 
2302 Closes #380
2303]
2304[CREDITS: lebek
2305zooko@zooko.com**20120503173033
2306 Ignore-this: 6c0ff786ce67697f7af7b861593992e3
2307]
2308[Make sure that foolscap.logging.log.setLogDir is called with a str (not unicode) path, v2. Includes test. fixes #1725
2309david-sarah@jacaranda.org**20120429022844
2310 Ignore-this: 1e94ed0c092c5c93c0a4031f8b8df092
2311]
2312[Updated webapi.rst to list /cap as a synonym for /uri
2313Brian Warner <warner@lothar.com>**20120417184111
2314 Ignore-this: c7dfb12987d883c94948f3fede254fe4
2315]
2316[Adding jg71 to CREDITS
2317markus reichelt <mr@mareichelt.com>**20120414140107
2318 Ignore-this: b69a4c4b5248a7092c550de395192afb
2319]
2320[Fix for ticket #1662
2321Brian Warner <warner@lothar.com>**20120410183314
2322 Ignore-this: b2164418fb1a24cef2bddf1ec3c42eed
2323]
2324[docs/frontends/drop-upload.rst: document more known issues and link to new ticket for an existing one.
2325david-sarah@jacaranda.org**20120406043946
2326 Ignore-this: 72e0a821961fb9137bb6f53742e4ba43
2327]
2328[checker.py: minor simplifications
2329Brian Warner <warner@lothar.com>**20120404190531
2330 Ignore-this: 170f3e70dccd61c1ddb6ea6995ad09ca
2331]
2332[Rename web CheckResults to -Renderer, to avoid confusion. Closes #1705.
2333Brian Warner <warner@lothar.com>**20120403030451
2334 Ignore-this: 4c3e20d804e70a27d2464f770aec0c2c
2335 
2336 This avoids the name collision between the actual results
2337 objects (defined in allmydata.check_results) and the code that renders
2338 these objects into HTML (defined in allmydata.web.check_results). Only
2339 the web-side objects were renamed.
2340]
2341[webapi.rst: de-tabify
2342Brian Warner <warner@lothar.com>**20120402233205
2343 Ignore-this: 6436168d9073b12e95ff410239bf133f
2344]
2345[doc: cross-link known_issues.rst and cautions.rst with one another
2346zooko@zooko.com**20120401214039
2347 Ignore-this: 3873f8807826cb21761cfe65a93955f8
2348]
2349[docs: FTP-and-SFTP.rst: recommend SFTP
2350zooko@zooko.com**20120401212002
2351 Ignore-this: 6459edd6dd0a62a82d3adc62c5656c63
2352 
2353 Add an explicit recommendation of SFTP over FTP. Separate the known issues of
2354 FTP from SFTP. List "SFTP" first in all lists of the two. Use unicode bullet
2355 points and prepend a utf-8 BOM. Use out-of-line rst hyperlinks.
2356 
2357]
2358[interfaces.py: ensure that NoSuchChildError can be converted to str even when it is for a non-ASCII name. fixes #1483
2359david-sarah@jacaranda.org**20110814225959
2360 Ignore-this: d0069952ac7f5a13bdf5e957c7ae78a8
2361]
2362[misc/build_helpers/show-tool-versions.py: s/print_stderr/print_stdout/
2363david-sarah@jacaranda.org**20120401022826
2364 Ignore-this: c69d01081308a8144c9fdb34c4ab40b0
2365]
2366[bin/tahoe-script.template: fix the error message that is displayed when a runner script cannot be found. fixes #1488
2367david-sarah@jacaranda.org**20110817222651
2368 Ignore-this: b92c562e4da9adf63e642512c96eee89
2369]
2370[docs: quickstart: edits
2371zooko@zooko.com**20120401015717
2372 Ignore-this: cb56a1ffedb20d687133ad2ecfd7f8f7
2373 
2374 • use out-of-line links to avoid a warning from rst2html --verbose (fixes #1704)
2375 • reflow to 77 fill-column and prepend utf-8 BOM (fixes #1703)
2376 • recommend Python 2.7 (fixes #1702)
2377 • remove link to wiki:AdvancedInstall (fixes #1701)
2378 
2379]
2380[Spelling error in a comment.
2381david-sarah@jacaranda.org**20120401013655
2382 Ignore-this: 3a5a30be4be27bcfb1fecfd22ccf5327
2383]
2384[test_node.py: test that we tolerate a UTF-8 BOM at the start of tahoe.cfg, and can read UTF-8 option values. refs #1470
2385david-sarah@jacaranda.org**20110808180552
2386 Ignore-this: b4dd630857d192c02acaa6d8b163d5ca
2387]
2388[node.py: tolerate a UTF-8 BOM at the start of tahoe.cfg. fixes #1470
2389david-sarah@jacaranda.org**20110808180204
2390 Ignore-this: 9c859adce5668d7315d0d6e2ed9ddca7
2391]
2392[mutable/layout.py: improve confusing documentation of layout. fixes #1534
2393david-sarah@jacaranda.org**20110914143947
2394 Ignore-this: c5fbd3809ee3f7fc2b46cd23dad6b1c0
2395]
2396[setup: show-tool-versions: report cl only on windows, report buildslave, git, openssl, and lzip, but not 7za
2397zooko@zooko.com**20120401005925
2398 Ignore-this: 2f8d90893271d2f1c2d1185f95d95e86
2399]
2400[Document PYTHONPATH problem when running flogtool. refs #1693
2401david-sarah@jacaranda.org**20120331223934
2402 Ignore-this: 3edb13077119aaee76c1dcc46370e62
2403]
2404[Add test for bug #1689: repairing empty file hits no-privkey assertion
2405Brian Warner <warner@lothar.com>**20120331183902
2406 Ignore-this: e84ead8eb2bfee9c65285b7f9a3a9237
2407]
2408[FTP-and-SFTP.rst: there were two more instances of 'rootcap'. Also made the wording tweak from ticket:1487#comment:4 . fixes #1487
2409david-sarah@jacaranda.org**20120331023247
2410 Ignore-this: 9ce9c37d9aa2b9629b14a001989d51b0
2411]
2412[test_ftp.py: fix a couple of unused imports. refs #1668
2413david-sarah@jacaranda.org**20120331021725
2414 Ignore-this: fc4f24fbc707efe86de9f35b782384ce
2415]
2416[FTP-and-SFTP.rst: directories containing mutable files should now be listable via FTP. refs #680
2417david-sarah@jacaranda.org**20120331013730
2418 Ignore-this: 78e507bd857623e78b32dd0e4da3c59
2419]
2420[ftpd file `size' attribute must be an integer
2421Peter Le Bek <peter@hyperplex.net>**20120322131806
2422 Ignore-this: bcf0047f19226e8dc00cb4995584761a
2423]
2424[unit test for ftpd LIST
2425Peter Le Bek <peter@hyperplex.net>**20120330234139
2426 Ignore-this: dfbb45a030be9840858df6047f21666c
2427]
2428[fix ftpd mtime retrieval
2429Peter Le Bek <peter@hyperplex.net>**20120330234119
2430 Ignore-this: 873cf8d1c28817d7e64565dda43a2ecb
2431]
2432[Cosmetic formatting in docs.
2433david-sarah@jacaranda.org**20120322220534
2434 Ignore-this: 2e3ddb170f45035c4655ce25aaa09977
2435]
2436[Put SFTP before FTP in various docs. fixes #1692
2437david-sarah@jacaranda.org**20120322220453
2438 Ignore-this: 6759fbe5d58a965120b55cf3c1578970
2439]
2440[Correct a link to frontends/drop-upload.rst. fixes #1690
2441david-sarah@jacaranda.org**20120322220118
2442 Ignore-this: dafc6205151545e8095f908dd57c213
2443]
2444[Fix a missing comma in the last patch. refs #1295
2445david-sarah@jacaranda.org**20120314235040
2446 Ignore-this: 34327ffeabed65759ad511760f925e47
2447]
2448[Temporarily suppress the DeprecationWarning about IFinishableConsumer; it's irritating, but not in a way that is likely to make me fix the underlying issue (#1525) any sooner :-). refs #1295
2449david-sarah@jacaranda.org**20120314234729
2450 Ignore-this: 2ab43c7893ed305a9d40023ec176d179
2451]
2452[Update find_links URLs in setup.cfg to https://tahoe-lafs.org. This is not just a doc change; look out for compatibility problems.
2453david-sarah@jacaranda.org**20120313203041
2454 Ignore-this: fd18113695c2a524972c389e8b52e2e8
2455]
2456[Minor updates to URLs.
2457david-sarah@jacaranda.org**20120313202853
2458 Ignore-this: 2e5719e8cf19d7be73fbcba98dc1e5dd
2459]
2460[Update more links from http: to https: in documentation and comments.
2461david-sarah@jacaranda.org**20120313202654
2462 Ignore-this: 2c11cef35639b101412c024896256529
2463]
2464[Update copyright notices. refs #1686
2465david-sarah@jacaranda.org**20120313205057
2466 Ignore-this: a6a4904001412248c4164f002b52f79a
2467]
2468[Update various references to allmydata.org or http://tahoe-lafs.org in comments, to https://tahoe-lafs.org. refs #1682
2469david-sarah@jacaranda.org**20120308231719
2470 Ignore-this: a71d00ea46af0a44e5c957df56d02adf
2471]
2472[Suppress a warning from win32eventreactor on Windows (patch v2). fixes #1681
2473david-sarah@jacaranda.org**20120227190317
2474 Ignore-this: c7efe1065d45a00caf182a1de812f4bb
2475]
2476[add some quick tests of the introducer/web improvements
2477Brian Warner <warner@lothar.com>**20120312193536
2478 Ignore-this: 9e31f368b1dfa586ab6e3f17707d9ec
2479]
2480[tahoe.css: fix #section typo, update welcome.xhtml to match
2481Brian Warner <warner@lothar.com>**20120307022241
2482 Ignore-this: 4e8a8382234aad017b093f8896b329d6
2483 
2484 The "#section" declaration (which matches id="section") should have been
2485 ".section" (which matches class="section").
2486 
2487 The welcome page has a feature that I actually liked: the little "This
2488 Client" sidebar sits just to the right of the start of the Controls block.
2489 Fixing .section broke that (the clear:both introduces a gap, forcing the
2490 Controls block to start strictly below the bottom of the This Client block).
2491 So I also removed class="section" from the Controls block to allow them to
2492 share the horizontal space again.
2493]
2494[provisioning.py: update disk sizes and usage numbers
2495Brian Warner <warner@lothar.com>**20120213155708
2496 Ignore-this: e47ee282bfba4beb2598b227add5250a
2497]
2498[configuration.rst: another attempt to fix formatting of sample tahoe.cfg.
2499david-sarah@jacaranda.org**20120131000949
2500 Ignore-this: bb67b6c9bb191a1335eaadfe9594fa4f
2501]
2502[configuration.rst: remove the obsolete sizelimit option from the sample tahoe.cfg. Also fix the RST formatting of blank lines in the file.
2503david-sarah@jacaranda.org**20120131000643
2504 Ignore-this: 9c5327edf031d8578c19383d950b17b9
2505]
2506[Add a Python 3 blocker to setup.py, to display a better error message when it is run under Python 3.
2507david-sarah@jacaranda.org**20120127015525
2508 Ignore-this: 5f032794ecc8cd6c512a7ab9efffed2
2509]
2510[Ensure that verification proceeds and stops when appropriate.
2511Brian Warner <warner@lothar.com>**20120124205209
2512 Ignore-this: 88278bbd6a3b33cf3b286feaa162ad02
2513 
2514 The removed assertions are appropriate for a download that seeks to
2515 return plaintext to a caller; if we don't have at least k active remote
2516 shares, then we can't hope to do that. They're not appropriate for a
2517 verification operation; a user can try to verify a file that has fewer
2518 than k shares available, so that shouldn't be treated as an error.
2519 Instead, we proceed with fewer than k shares, and ensure that we
2520 terminate the download if we have no shares at all and we're verifying.
2521]
2522[Add test_verify_mdmf_all_bad_sharedata
2523Brian Warner <warner@lothar.com>**20120124205209
2524 Ignore-this: 52acb4f0256af764acb038f7c8344367
2525 
2526 test_verify_mdmf_all_bad_sharedata tests for the regression described
2527 in ticket 1648. In particular, it will trigger the misplaced assertion
2528 in the share activation code. It also tests to make sure that
2529 verification continues with fewer than k shares.
2530]
2531[Added clarification on how interface= works
2532Brian Warner <warner@lothar.com>**20120124203821
2533 Ignore-this: 57f86d178c8e4f3c62d15bf99dec7d0d
2534]
2535[FTP-and-SFTP.rst: minor edits
2536Brian Warner <warner@lothar.com>**20120124203654
2537 Ignore-this: ec21fadb85cf7b3192d32b02c03c3656
2538]
2539[Updated accounts.url directive per warner's suggestions
2540Brian Warner <warner@lothar.com>**20120124203126
2541 Ignore-this: 9297ec6406e11d4e1fe24ba3a06725e3
2542]
2543[Added information on accounts.url directive
2544Brian Warner <warner@lothar.com>**20120124203126
2545 Ignore-this: 6d6142418eabdad789a2fc68f26b3ba1
2546]
2547[docs: an extra newline to separate utf-8 BOF from comment for the sake of trac's rst renderer
2548zooko@zooko.com**20120122212002
2549 Ignore-this: 5c6d0dbfa1430681fa00494937537956
2550]
2551[docs: a newline between the utf-8 BOF and the comment in order to prevent trac from misrendering the comment
2552zooko@zooko.com**20120122211856
2553 Ignore-this: 5e92cb88ba46b82227338522b834b90d
2554 sheesh
2555]
2556[docs: a comment to inform the (human) reader about encoding and to prevent someone from moving the title up to where it will interact with the utf-8 BOM and cause trac to mis-render the title
2557zooko@zooko.com**20120122211731
2558 Ignore-this: f7912a13ffba60408ec901a9586ce8a4
2559]
2560[docs: insert another newline between utf-8 BOF and title
2561zooko@zooko.com**20120122211427
2562 Ignore-this: 1b3861ef7d4531acfa61fac31e14fe98
2563]
2564[docs: insert newline after utf-8 BOF and before restructuredtext title
2565zooko@zooko.com**20120122182127
2566 Ignore-this: f947afe5bdfc9f44ba9bf7f0e585da7c
2567]
2568[docs: remove utf-8 "BOM" which confuses trac's rst renderer
2569zooko@zooko.com**20120122140052
2570 Ignore-this: ba58c59a314f23c65de5443bd7b6ffcb
2571]
2572[docs: try again to change RestructuredText titles to a format that trac will render
2573zooko@zooko.com**20120122135613
2574 Ignore-this: 588bbb627a95cd8317c809567cfa3e78
2575]
2576[docs: backdoors.rst: fix title formatting
2577zooko@zooko.com**20120122135125
2578 Ignore-this: 5bf980c1a8703ee353cd747ae343176a
2579]
2580[docs: backdoors.rst: stop using embedded URIs and tweak title so that trac will render it correctly; reflow to fill-column 77; M-x whitespace-cleanup
2581zooko@zooko.com**20120122134319
2582 Ignore-this: e1b5b3d2809040cfd7f13bb88ee8313d
2583]
2584[update release process: git, not darcs, etc
2585Brian Warner <warner@lothar.com>**20120113071257
2586 Ignore-this: 2eaa1f0e93dc545989bb1e62b2446e1e
2587]
2588[prepare to Org-ify how_to_make_a_tahoe-lafs_release: rename the file
2589Brian Warner <warner@lothar.com>**20120113070153
2590 Ignore-this: d9bb83dfd6c3b4c0ca0efd2adacdf63c
2591]
2592[.gitignore: ignore generated test-coverage files too
2593Brian Warner <warner@lothar.com>**20120113065629
2594 Ignore-this: 4411c7d620f5865b8c4dedef7e5a8c33
2595]
2596[merge relnotes, quickstart.rst from 1.9.1 release
2597Brian Warner <warner@lothar.com>**20120112232420
2598 Ignore-this: 6b535bb1a3bd5ea87ee12cc6b17eeb5c
2599]
2600[.gitignore: also ignore tahoe-deps and .tgz, to fix 'make tarballs'
2601Brian Warner <warner@lothar.com>**20120112210925
2602 Ignore-this: e8a7d942f123ee6bf4f2966ddc2742a3
2603 
2604 Otherwise, the get-version-from-git code thinks the tree is dirty, and
2605 creates SUMO tarballs with -dirty in the name.
2606]
2607[Makefile: fix 'make-version' to use git-or-darcs, not just darcs
2608Brian Warner <warner@lothar.com>**20120112210654
2609 Ignore-this: ae32660458b5ab036ab98f0d1cf4e414
2610]
2611[_auto_deps.py: don't allow pycrypto 2.0.1. fixes #1631
2612david-sarah@jacaranda.org**20120110195758
2613 Ignore-this: de409a745c93a78b095dc72edd13a15d
2614]
2615[MANIFEST.in: make git-based 'setup.py sdist' match darcs
2616Brian Warner <warner@lothar.com>**20120109234637
2617 Ignore-this: 92bf7d679e9d5696994efe39c40ae216
2618 
2619 Previously, tarballs generated from a git tree were lacking a lot of
2620 important non-code files, like docs/
2621]
2622[restore .gitignore, stop .darcs-boringfile it
2623warner@lothar.com**20120109025243
2624 Ignore-this: b37efcdab8662fe85660d68e3662b4b9
2625]
2626[remove setuptools_darcs.egg
2627warner@lothar.com**20120108225545
2628 Ignore-this: 39711cf7a9856acd5a136038d58ca5ff
2629]
2630[fix bundled data under git, remove setuptools_darcs
2631Brian Warner <warner@lothar.com>**20120108221250
2632 Ignore-this: ebfc0b267961523edd7e26c761b2554f
2633 
2634 This uses explicitly enumerated packages= and package_data= arguments to
2635 setup(), rather than relying upon the convenient (but darcs-specific)
2636 functions which would determine these values by asking the revision-control
2637 system.
2638 
2639 Note that darcsver is still used, when building from a darcs tree.
2640]
2641[mutable/layout.py: raise BadShareError instead of assert()
2642Brian Warner <warner@lothar.com>**20120108221247
2643 Ignore-this: 129891a807315f657b80576025135df8
2644]
2645[mutable: simplify Retrieve._process_segment() to use a gatherDeferred
2646Brian Warner <warner@lothar.com>**20120108221244
2647 Ignore-this: cfc7a56414889d02bffd747f1abad8ef
2648]
2649[Retrieve.decode(): simplify setup of DeferredList-like argument
2650Brian Warner <warner@lothar.com>**20120108221240
2651 Ignore-this: c92d377bf4d65251240e59c8db5452af
2652 
2653 make it more obviously match the expectations of _decode_blocks() and
2654 _maybe_decode_and_decrypt_segment()
2655]
2656[mutable: add comments about the tricky DeferredList structures in retrieve
2657Brian Warner <warner@lothar.com>**20120108221238
2658 Ignore-this: da47db692fbdf11a3ce01a952a60d1a0
2659]
2660[add test-git-ignore.py, to port the 'clean' buildbot test to git
2661Brian Warner <warner@lothar.com>**20120108221232
2662 Ignore-this: 442efa1eacc27b7ae2690645ed997894
2663 
2664 add .gitignore to match .darcs-boringfile, mostly
2665]
2666[Use a private/drop_upload_dircap file instead of the [drop_upload]upload.dircap option in tahoe.cfg. Fail if the upload.dircap option is used, or options are missing. Also updates tests and docs. fixes #1593
2667david-sarah@jacaranda.org**20111120232426
2668 Ignore-this: d4ea9154e98902c5de055b6de23c48f9
2669]
2670[docs: how_to_make_a_tahoe-lafs_release.rst add Google+ page to publicity list, change to cute unicode checkboxes
2671zooko@zooko.com**20111226151905
2672 Ignore-this: c7c1e67761df48fa11c0dad1847c2d8
2673]
2674[doc: about.rst: use unicode emdash, use non-embedded URIs, add clarificaiton of when a file gets its mutable-or-immutable nature
2675zooko@zooko.com**20111206171908
2676 Ignore-this: 61bc3f1582c68dcc9867da964fc9bb3a
2677 embedded URIs, although documented here:
2678 http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#embedded-uris
2679 generate messages like this from rst2html --verbose:
2680 
2681 quickstart.rst:3: (INFO/1) Duplicate explicit target name: "the tahoe-dev mailing list".
2682 
2683 Also this patch prepends a "utf-8 BOM" to the beginning of the file.
2684]
2685[minor cleanup: remove trailing spaces in misc/
2686Brian Warner <warner@lothar.com>**20111218201841
2687 Ignore-this: 69a8904c17d8fd930442d00e24b7b188
2688]
2689[setup.py: stop putting pyutil.version_class/etc in _version.py
2690Brian Warner <warner@lothar.com>**20111205055049
2691 Ignore-this: 926fa9a8a34a04f24ee6e006423e9c1
2692 
2693 allmydata.__version__ can just be a string, it doesn't need to be an instance
2694 of some fancy NormalizedVersion class. Everything inside Tahoe uses
2695 str(__version__) anyways.
2696 
2697 Also add .dev0 when a git tree is dirty.
2698 
2699 Closes #1466
2700]
2701[setup.py: get version from git or darcs
2702Brian Warner <warner@lothar.com>**20111205044001
2703 Ignore-this: 5a406b33000446d85edc722298391220
2704 
2705 This replaces the setup.cfg aliases that run "darcsver" before each major
2706 command with the new "update_version". update_version is defined in setup.py,
2707 and tries to get a version string from either darcs or git (or leaves the
2708 existing _version.py alone if neither VC metadata is available).
2709 
2710 Also clean up a tiny typo in verlib.py that messed up syntax hilighting.
2711]
2712[docs/known_issues.rst: describe when the unauthorized access attack is known to be possible, and fix a link.
2713david-sarah@jacaranda.org**20111118002013
2714 Ignore-this: d89b1f1040a0a7ee0bde893d23612049
2715]
2716[more tiny buildbot-testing whitespace changes
2717warner@lothar.com**20111118002041
2718 Ignore-this: e816e2a5ab939e2f7a89ef12b8a157d8
2719]
2720[more tiny buildbot-testing whitespace changes
2721warner@lothar.com**20111118001828
2722 Ignore-this: 57bb52cba83ea9a19728ba0a8ffadb69
2723]
2724[tiny change to exercise the buildbot hook
2725warner@lothar.com**20111118001511
2726 Ignore-this: 7220b7790b39f19f9721d9e93b755030
2727]
2728[Strengthen description of unauthorized access attack in known_issues.rst.
2729david-sarah@jacaranda.org**20111118000030
2730 Ignore-this: e2f68f621fe666b6201542623aa4d182
2731]
2732[remove remaining uses of nevow's "formless" module
2733Brian Warner <warner@lothar.com>**20111117225423
2734 Ignore-this: a128dea91a1c63b3bbefa34729344d69
2735 
2736 We're slowly moving away from Nevow, and marcusw's previous patch removed
2737 uses of the formless CSS file, so now we can stop testing that nevow can find
2738 that file, and remove the lingering unused "import formless" call.
2739]
2740[Remove duplicate tahoe_css links from manifest.xhtml and rename-form.xhtml
2741Brian Warner <warner@lothar.com>**20111116224225
2742 Ignore-this: 12024fff17964607799928928b9aadf3
2743 
2744 They were probably meant to be links to webform_css, but we aren't really
2745 using Nevow's form-generation code anyways, so they can just be removed.
2746 Thanks to 'marcusw' for the catch.
2747]
2748[iputil: handle openbsd5 (just like openbsd4)
2749Brian Warner <warner@lothar.com>**20111115220423
2750 Ignore-this: 64b28bd2fd06eb5230ea41d91540dd05
2751 
2752 Patch by 'sickness'. Closes #1584
2753]
2754[Makefile count-lines: let it work on OS-X (-l not --lines), add XXX
2755Brian Warner <warner@lothar.com>**20111109184227
2756 Ignore-this: 204ace1dadc9ed27543c62965b4e6757
2757 
2758 OS-X's simple-minded /usr/bin/wc doesn't understand --lines, but everyone
2759 understands -l .
2760]
2761[setup.py: umask=022 for 'sdist', to avoid depending on environment
2762Brian Warner <warner@lothar.com>**20111109183632
2763 Ignore-this: acd5db88ba8f1972d618b14f9e5b803c
2764 
2765 The new tarball-building buildslave had a bogus umask set, causing the 1.9.0
2766 tarballs to be non-other-user-readable (go-rwx), which is a hassle for
2767 packaging. (The umask was correct on the old buildslave, but it was moved to
2768 a new host shortly before the release). This should make sure tarballs are
2769 correct despite the host's setting.
2770 
2771 Note to others: processes run under twistd get umask=077 unless you arrange
2772 otherwise.
2773]
2774[_auto_deps.py: blacklist PyCrypto 2.4.
2775david-sarah@jacaranda.org**20111105022457
2776 Ignore-this: 876cb24bc71589e735f48bf449cad81e
2777]
2778[check-miscaptures.py: report the number of files that were not analysed due to syntax errors (and don't count them in the number of suspicious captures). refs #1555
2779david-sarah@jacaranda.org**20111009050301
2780 Ignore-this: 62ee03f4b8a96c292e75c097ad87d52e
2781]
2782[check-miscaptures.py: handle corner cases around default arguments correctly. Also make a minor optimization when there are no assigned variables to consider. refs #1555
2783david-sarah@jacaranda.org**20111009045023
2784 Ignore-this: f49ece515620081da1d745ae6da19d21
2785]
2786[check-miscaptures.py: Python doesn't really have declarations; report the topmost assignment. refs #1555
2787david-sarah@jacaranda.org**20111009044800
2788 Ignore-this: 4905c9dfe7726f433333e216a6760a4b
2789]
2790[check-miscaptures.py: handle destructuring function arguments correctly. refs #1555
2791david-sarah@jacaranda.org**20111009044710
2792 Ignore-this: f9de7d95e94446507a206c88d3f98a23
2793]
2794[check-miscaptures.py: check while loops and list comprehensions as well as for loops. Also fix a pyflakes warning. refs #1555
2795david-sarah@jacaranda.org**20111009044022
2796 Ignore-this: 6526e4e315ca6461b1fbc2da5568e444
2797]
2798[Add misc/coding_tools/check-miscaptures.py to detect incorrect captures of variables declared in a for loop, and a 'make check-miscaptures' Makefile target to run it. (It is also run by 'make code-checks'.) This is a rewritten version that reports much fewer false positives, by determining captured variables more accurately. fixes #1555
2799david-sarah@jacaranda.org**20111007074121
2800 Ignore-this: 51318e9678d132c374ea557ab955e79e
2801]
2802[Fix pyflakes warnings in misc/ directories other than misc/build_helpers. refs #1557
2803david-sarah@jacaranda.org**20111007033031
2804 Ignore-this: 7daf5862469732d8cabc355266622b74
2805]
2806[Makefile: include misc/ directories other than misc/build_helpers in SOURCES. refs #1557
2807david-sarah@jacaranda.org**20111007032958
2808 Ignore-this: 31376ec01401df7972e83341dc65aa05
2809]
2810[show-tool-versions: tolerate missing setuptools
2811Brian Warner <warner@lothar.com>**20111101080010
2812 Ignore-this: 72d4e440565273992beb4f010cbca699
2813]
2814[show-tool-versions.py: condense output, hide file-not-found exceptions
2815Brian Warner <warner@lothar.com>**20111101074532
2816 Ignore-this: a15381a76077ef46a74a4ac40c9ae956
2817]
2818[relnotes.txt: fix footnotes
2819Brian Warner <warner@lothar.com>**20111101071935
2820 Ignore-this: 668c1bd8618e21beed9bc6b23f048189
2821]
2822[TAG allmydata-tahoe-1.9.0
2823warner@lothar.com**20111031052301
2824 Ignore-this: cf598210dd1f314a1a121bf29a3d5918
2825]
2826Patch bundle hash:
28276e3fe57c61a7dcca49ce2a195d0c8c269c2cd224