Ticket #1693: tahoe-debug-flogtool-v2.darcs.patch

File tahoe-debug-flogtool-v2.darcs.patch, 92.5 KB (added by davidsarah, at 2012-03-31T22:42:44Z)

Add 'tahoe debug flogtool' command, test for --help, and docs. This version gets the help synopses more correct, and changes the doc to say that this command is added in 1.10.0 rather than 1.9.2. fixes #1693

Line 
11 patch for repository tahoe-lafs.org:/home/source/darcs/tahoe-lafs/trunk:
2
3Sat Mar 31 23:41:22 BST 2012  david-sarah@jacaranda.org
4  * Add 'tahoe debug flogtool' command, test for --help, and docs. This version gets the help synopses more correct, and changes the doc to say that this command is added in 1.10.0 rather than 1.9.2. fixes #1693
5
6New patches:
7
8[Add 'tahoe debug flogtool' command, test for --help, and docs. This version gets the help synopses more correct, and changes the doc to say that this command is added in 1.10.0 rather than 1.9.2. fixes #1693
9david-sarah@jacaranda.org**20120331224122
10 Ignore-this: 9c2bc2f7b684323515690d658060c3fc
11] {
12hunk ./docs/logging.rst 32
13 The Foolscap distribution includes a utility named "``flogtool``" that is
14 used to get access to many Foolscap logging features. However, using this
15 command directly on Tahoe log files may fail, due to use of an incorrect
16-PYTHONPATH. Installing Foolscap v0.6.1 or later and then running
17-``bin/tahoe @flogtool`` from the root of a Tahoe-LAFS source distribution
18-may avoid this problem (but only on Unix, not Windows).
19+PYTHONPATH. To avoid this problem, Tahoe-LAFS v1.10.0 and later include a
20+``tahoe debug flogtool`` command; to use this, prefix all of the example
21+commands below with ``tahoe debug``.
22+
23+For earlier versions since Tahoe-LAFS v1.8.2, installing Foolscap v0.6.1
24+or later and then running ``bin/tahoe @flogtool`` from the root of a
25+Tahoe-LAFS source distribution may work (but only on Unix, not Windows).
26 
27 
28 Realtime Logging
29hunk ./src/allmydata/scripts/debug.py 8
30 from twisted.python import usage, failure
31 from twisted.internet import defer
32 from twisted.scripts import trial as twisted_trial
33+from foolscap.logging import cli as foolscap_cli
34 
35 
36 class DumpOptions(usage.Options):
37hunk ./src/allmydata/scripts/debug.py 1002
38     twisted_trial.run()
39 
40 
41+def fixOptionsClass( (subcmd, shortcut, OptionsClass, desc) ):
42+    class FixedOptionsClass(OptionsClass):
43+        def getSynopsis(self):
44+            t = OptionsClass.getSynopsis(self)
45+            i = t.find("Usage: flogtool ")
46+            if i >= 0:
47+                return "Usage: tahoe debug flogtool " + t[i+len("Usage: flogtool "):]
48+            else:
49+                return "Usage: tahoe debug flogtool %s [options]" % (subcmd,)
50+    return (subcmd, shortcut, FixedOptionsClass, desc)
51+
52+class FlogtoolOptions(foolscap_cli.Options):
53+    def __init__(self):
54+        super(FlogtoolOptions, self).__init__()
55+        self.subCommands = map(fixOptionsClass, self.subCommands)
56+
57+    def getSynopsis(self):
58+        return "Usage: tahoe debug flogtool (%s) [command options]" % ("|".join([x[0] for x in self.subCommands]))
59+
60+    def parseOptions(self, all_subargs, *a, **kw):
61+        self.flogtool_args = list(all_subargs)
62+        return super(FlogtoolOptions, self).parseOptions(self.flogtool_args, *a, **kw)
63+
64+    def getUsage(self, width=None):
65+        t = super(FlogtoolOptions, self).getUsage(width)
66+        t += """
67+The 'tahoe debug flogtool' command uses the correct imports for this instance
68+of Tahoe-LAFS.
69+
70+Please run 'tahoe debug flogtool SUBCOMMAND --help' for more details on each
71+subcommand.
72+"""
73+        return t
74+
75+    def opt_help(self):
76+        print str(self)
77+        sys.exit(0)
78+
79+def flogtool(config):
80+    sys.argv = ['flogtool'] + config.flogtool_args
81+    return foolscap_cli.run_flogtool()
82+
83+
84 class DebugCommand(usage.Options):
85     subCommands = [
86         ["dump-share", None, DumpOptions,
87hunk ./src/allmydata/scripts/debug.py 1055
88         ["corrupt-share", None, CorruptShareOptions, "Corrupt a share by flipping a bit."],
89         ["repl", None, ReplOptions, "Open a Python interpreter."],
90         ["trial", None, TrialOptions, "Run tests using Twisted Trial with the right imports."],
91+        ["flogtool", None, FlogtoolOptions, "Utilities to access log files."],
92         ]
93     def postOptions(self):
94         if not hasattr(self, 'subOptions'):
95hunk ./src/allmydata/scripts/debug.py 1061
96             raise usage.UsageError("must specify a subcommand")
97     def getSynopsis(self):
98-        return "Usage: tahoe debug SUBCOMMAND"
99+        return ""
100     def getUsage(self, width=None):
101         #t = usage.Options.getUsage(self, width)
102hunk ./src/allmydata/scripts/debug.py 1064
103-        t = """
104+        t = """Usage: tahoe debug SUBCOMMAND
105 Subcommands:
106     tahoe debug dump-share      Unpack and display the contents of a share.
107     tahoe debug dump-cap        Unpack a read-cap or write-cap.
108hunk ./src/allmydata/scripts/debug.py 1073
109     tahoe debug corrupt-share   Corrupt a share by flipping a bit.
110     tahoe debug repl            Open a Python interpreter.
111     tahoe debug trial           Run tests using Twisted Trial with the right imports.
112+    tahoe debug flogtool        Utilities to access log files.
113 
114 Please run e.g. 'tahoe debug dump-share --help' for more details on each
115 subcommand.
116hunk ./src/allmydata/scripts/debug.py 1114
117     "corrupt-share": corrupt_share,
118     "repl": repl,
119     "trial": trial,
120+    "flogtool": flogtool,
121     }
122 
123 
124hunk ./src/allmydata/test/test_cli.py 692
125         self.failUnlessIn(" debug trial [options] [[file|package|module|TestCase|testmethod]...]", help)
126         self.failUnlessIn("The 'tahoe debug trial' command uses the correct imports", help)
127 
128+    def test_debug_flogtool(self):
129+        options = debug.FlogtoolOptions()
130+        help = str(options)
131+        self.failUnlessIn(" debug flogtool ", help)
132+        self.failUnlessIn("The 'tahoe debug flogtool' command uses the correct imports", help)
133+
134+        for (option, shortcut, oClass, desc) in options.subCommands:
135+            subhelp = str(oClass())
136+            self.failUnlessIn(" debug flogtool %s " % (option,), subhelp)
137+
138 
139 class CreateAlias(GridTestMixin, CLITestMixin, unittest.TestCase):
140 
141}
142
143Context:
144
145[Document PYTHONPATH problem when running flogtool. refs #1693
146david-sarah@jacaranda.org**20120331223934
147 Ignore-this: 3edb13077119aaee76c1dcc46370e62
148]
149[Mutable repair: use new MODE_REPAIR to query all servers *and* get privkey
150Brian Warner <warner@lothar.com>**20120331183902
151 Ignore-this: e518c5372afe27331e09f8d70c63764d
152 
153 This fixes bug #1689. Repair was using MODE_READ to build the servermap,
154 which doesn't try hard enough to grab the privkey, and also doesn't guarantee
155 sending queries to all servers. This patch adds a new MODE_REPAIR which does
156 both, and does a separate, distinct mapupdate to start wth repair cycle,
157 instead of relying upon the (MODE_CHECK) mapupdate leftover from the
158 filecheck that triggered the repair.
159]
160[Add test for bug #1689: repairing empty file hits no-privkey assertion
161Brian Warner <warner@lothar.com>**20120331183902
162 Ignore-this: e84ead8eb2bfee9c65285b7f9a3a9237
163]
164[FTP-and-SFTP.rst: there were two more instances of 'rootcap'. Also made the wording tweak from ticket:1487#comment:4 . fixes #1487
165david-sarah@jacaranda.org**20120331023247
166 Ignore-this: 9ce9c37d9aa2b9629b14a001989d51b0
167]
168[test_ftp.py: fix a couple of unused imports. refs #1668
169david-sarah@jacaranda.org**20120331021725
170 Ignore-this: fc4f24fbc707efe86de9f35b782384ce
171]
172[test_introducer.SystemTest: fix race condition
173Brian Warner <warner@lothar.com>**20120331002906
174 Ignore-this: d5cec29c09aca766634b6332c798436f
175 
176 SystemTest has a couple of different phases, separated by a poller which
177 waits for everything to be idle (all messages delivered, none in flight). It
178 does this by watching some internal "_debug_outstanding" counters in the
179 server and in each client, and waiting for them to hit zero.
180 
181 Just before the last phase, we replace the server with a new one (to make
182 sure clients re-send their messages properly). Unfortunately, the polling
183 function closed over the variable holding the original server, and didn't see
184 the replacement. It kept polling the old server, and failed to notice the
185 outstanding messages for the new server. The last phase of the test (check3)
186 was started too early, which failed (since some messages had not yet been
187 delivered), and then exploded in a flurry of dirty-reactor errors (because
188 some messages were delivered after test shutdown).
189 
190 This replaces the closed-over-variable with a "self.the_introducer", which
191 seems to fix the race.
192 
193 One additional place to look at in the future: the client
194 announcement-receive path (remote_announce) uses an eventually(). If the
195 message has been received and the eventual-send posted (but not yet executed)
196 when the poller sees it, the poller might erroneously conclude that the
197 client is idle and cause the same problem as above. To fix this, the poller
198 (probably all pollers) could be enhanced to do a flushEventualQueue before
199 querying the are-we-done-yet predicate function.
200]
201[FTP-and-SFTP.rst: directories containing mutable files should now be listable via FTP. refs #680
202david-sarah@jacaranda.org**20120331013730
203 Ignore-this: 78e507bd857623e78b32dd0e4da3c59
204]
205[ftpd file `size' attribute must be an integer
206Peter Le Bek <peter@hyperplex.net>**20120322131806
207 Ignore-this: bcf0047f19226e8dc00cb4995584761a
208]
209[unit test for ftpd LIST
210Peter Le Bek <peter@hyperplex.net>**20120330234139
211 Ignore-this: dfbb45a030be9840858df6047f21666c
212]
213[fix ftpd mtime retrieval
214Peter Le Bek <peter@hyperplex.net>**20120330234119
215 Ignore-this: 873cf8d1c28817d7e64565dda43a2ecb
216]
217[Cosmetic formatting in docs.
218david-sarah@jacaranda.org**20120322220534
219 Ignore-this: 2e3ddb170f45035c4655ce25aaa09977
220]
221[Put SFTP before FTP in various docs. fixes #1692
222david-sarah@jacaranda.org**20120322220453
223 Ignore-this: 6759fbe5d58a965120b55cf3c1578970
224]
225[Correct a link to frontends/drop-upload.rst. fixes #1690
226david-sarah@jacaranda.org**20120322220118
227 Ignore-this: dafc6205151545e8095f908dd57c213
228]
229[Fix mutable status (mapupdate/retrieve/publish) to use serverids, not tubids
230Brian Warner <warner@lothar.com>**20120318000135
231 Ignore-this: 79354457b77fe2d8534fc0b792b6eb0c
232 
233 This still leaves immutable-publish results incorrectly using tubids instead
234 of serverids. That will need some more work, since it might change the Helper
235 interface.
236]
237[IServer.get_name(): remove v0- prefix from displayed server names
238Brian Warner <warner@lothar.com>**20120318000135
239 Ignore-this: f3dc25be3ecca5935a4320ca53b70cad
240 
241 Don't remove the prefix if it isn't there: that avoids the need to fix tests
242 which use a bogus key (usually all-zeros).
243]
244[Fix a missing comma in the last patch. refs #1295
245david-sarah@jacaranda.org**20120314235040
246 Ignore-this: 34327ffeabed65759ad511760f925e47
247]
248[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
249david-sarah@jacaranda.org**20120314234729
250 Ignore-this: 2ab43c7893ed305a9d40023ec176d179
251]
252[minor: hush pyflakes, move pycryptopp dep to unconditional section
253Brian Warner <warner@lothar.com>**20120314062035
254 Ignore-this: 786fae44ad106c7924f8c9644ee0e48d
255 
256 Also change Makefile's "pyflakes" rule to emit less output, so buildbot will
257 count errors properly.
258]
259[new introducer: signed extensible dictionary-based messages! refs #466
260Brian Warner <warner@lothar.com>**20120314012432
261 Ignore-this: e87de488a26c11711cf6978c9fb1175c
262 
263 This introduces new client and server halves to the Introducer (renaming the
264 old one with a _V1 suffix). Both have fallbacks to accomodate talking to a
265 different version: the publishing client switches on whether the server's
266 .get_version() advertises V2 support, the server switches on which
267 subscription method was invoked by the subscribing client.
268 
269 The V2 protocol sends a three-tuple of (serialized announcement dictionary,
270 signature, pubkey) for each announcement. The V2 server dispatches messages
271 to subscribers according to the service-name, and throws errors for invalid
272 signatures, but does not otherwise examine the messages. The V2 receiver's
273 subscription callback will receive a (serverid, ann_dict) pair. The
274 'serverid' will be equal to the pubkey if all of the following are true:
275 
276   the originating client is V2, and was told a privkey to use
277   the announcement went through a V2 server
278   the signature is valid
279 
280 If not, 'serverid' will be equal to the tubid portion of the announced FURL,
281 as was the case for V1 receivers.
282 
283 Servers will create a keypair if one does not exist yet, stored in
284 private/server.privkey .
285 
286 The signed announcement dictionary puts the server FURL in a key named
287 "anonymous-storage-FURL", which anticipates upcoming Accounting-related
288 changes in the server advertisements. It also provides a key named
289 "permutation-seed-base32" to tell clients what permutation seed to use. This
290 is computed at startup, using tubid if there are existing shares, otherwise
291 the pubkey, to retain share-order compatibility for existing servers.
292]
293['tahoe admin generate-keypair/derive-pubkey': add Ed25519 keypair commands
294Brian Warner <warner@lothar.com>**20120314012432
295 Ignore-this: 6dff9c61d97f746de338027b72cf1912
296 
297 Also add parse_privkey/parse_pubkey tools to util.keyutil
298]
299[bump pycryptopp dependency to >=0.6.0, to get ed25519 signatures
300Brian Warner <warner@lothar.com>**20120314012432
301 Ignore-this: 6c1cf12a30567880ab2cc53c4282be11
302 
303 This is for the upcoming #466 signed-introducer code.
304]
305[Add nickname/nodeid to storage-status web page. Closes #1204.
306Brian Warner <warner@lothar.com>**20120313025736
307 Ignore-this: 78e533e06c390221edd66c45ec96e34a
308 
309 Also add tahoe.css to the page, to make it look slightly prettier.
310]
311[add some quick tests of the introducer/web improvements
312Brian Warner <warner@lothar.com>**20120312193536
313 Ignore-this: 9e31f368b1dfa586ab6e3f17707d9ec
314]
315[introducer web page: add CSS styling, roughly match client Welcome page
316Brian Warner <warner@lothar.com>**20120307022505
317 Ignore-this: bfc450f394578a3463f31acc1019862
318 
319 Also add /static and the top-level /tahoe.css -type stuff to the introducer's
320 web server.
321]
322[tahoe.css: fix #section typo, update welcome.xhtml to match
323Brian Warner <warner@lothar.com>**20120307022241
324 Ignore-this: 4e8a8382234aad017b093f8896b329d6
325 
326 The "#section" declaration (which matches id="section") should have been
327 ".section" (which matches class="section").
328 
329 The welcome page has a feature that I actually liked: the little "This
330 Client" sidebar sits just to the right of the start of the Controls block.
331 Fixing .section broke that (the clear:both introduces a gap, forcing the
332 Controls block to start strictly below the bottom of the This Client block).
333 So I also removed class="section" from the Controls block to allow them to
334 share the horizontal space again.
335]
336[Update copyright notices. refs #1686
337david-sarah@jacaranda.org**20120313205057
338 Ignore-this: a6a4904001412248c4164f002b52f79a
339]
340[Update find_links URLs in setup.cfg to https://tahoe-lafs.org. This is not just a doc change; look out for compatibility problems.
341david-sarah@jacaranda.org**20120313203041
342 Ignore-this: fd18113695c2a524972c389e8b52e2e8
343]
344[Minor updates to URLs.
345david-sarah@jacaranda.org**20120313202853
346 Ignore-this: 2e5719e8cf19d7be73fbcba98dc1e5dd
347]
348[Update more links from http: to https: in documentation and comments.
349david-sarah@jacaranda.org**20120313202654
350 Ignore-this: 2c11cef35639b101412c024896256529
351]
352[Make the link on the Welcome page to 'https://tahoe-lafs.org/', not 'http:'. Includes a test. fixes #1682
353david-sarah@jacaranda.org**20120308231758
354 Ignore-this: b639c3da453b95ee7edca8090ea1b9aa
355]
356[Update various references to allmydata.org or http://tahoe-lafs.org in comments, to https://tahoe-lafs.org. refs #1682
357david-sarah@jacaranda.org**20120308231719
358 Ignore-this: a71d00ea46af0a44e5c957df56d02adf
359]
360[Suppress a warning from win32eventreactor on Windows (patch v2). fixes #1681
361david-sarah@jacaranda.org**20120227190317
362 Ignore-this: c7efe1065d45a00caf182a1de812f4bb
363]
364[make provisioning/reliability work in the new location, fix tests
365Brian Warner <warner@lothar.com>**20120216222905
366 Ignore-this: 8a2923a54ca224fe69fe404e819aaaac
367]
368[remove 'provisioning'/'reliability' from WUI, add to misc/operations_helpers
369Brian Warner <warner@lothar.com>**20120216222905
370 Ignore-this: 4090c8ac99f139393d9573b65cbbfe0c
371 
372 Also remove docs related to reliability/provisioning pages
373]
374[provisioning.py: update disk sizes and usage numbers
375Brian Warner <warner@lothar.com>**20120213155708
376 Ignore-this: e47ee282bfba4beb2598b227add5250a
377]
378[configuration.rst: another attempt to fix formatting of sample tahoe.cfg.
379david-sarah@jacaranda.org**20120131000949
380 Ignore-this: bb67b6c9bb191a1335eaadfe9594fa4f
381]
382[configuration.rst: remove the obsolete sizelimit option from the sample tahoe.cfg. Also fix the RST formatting of blank lines in the file.
383david-sarah@jacaranda.org**20120131000643
384 Ignore-this: 9c5327edf031d8578c19383d950b17b9
385]
386[Ensure that verification proceeds and stops when appropriate.
387Brian Warner <warner@lothar.com>**20120124205209
388 Ignore-this: 88278bbd6a3b33cf3b286feaa162ad02
389 
390 The removed assertions are appropriate for a download that seeks to
391 return plaintext to a caller; if we don't have at least k active remote
392 shares, then we can't hope to do that. They're not appropriate for a
393 verification operation; a user can try to verify a file that has fewer
394 than k shares available, so that shouldn't be treated as an error.
395 Instead, we proceed with fewer than k shares, and ensure that we
396 terminate the download if we have no shares at all and we're verifying.
397]
398[Add test_verify_mdmf_all_bad_sharedata
399Brian Warner <warner@lothar.com>**20120124205209
400 Ignore-this: 52acb4f0256af764acb038f7c8344367
401 
402 test_verify_mdmf_all_bad_sharedata tests for the regression described
403 in ticket 1648. In particular, it will trigger the misplaced assertion
404 in the share activation code. It also tests to make sure that
405 verification continues with fewer than k shares.
406]
407[Added clarification on how interface= works
408Brian Warner <warner@lothar.com>**20120124203821
409 Ignore-this: 57f86d178c8e4f3c62d15bf99dec7d0d
410]
411[FTP-and-SFTP.rst: minor edits
412Brian Warner <warner@lothar.com>**20120124203654
413 Ignore-this: ec21fadb85cf7b3192d32b02c03c3656
414]
415[Updated accounts.url directive per warner's suggestions
416Brian Warner <warner@lothar.com>**20120124203126
417 Ignore-this: 9297ec6406e11d4e1fe24ba3a06725e3
418]
419[Added information on accounts.url directive
420Brian Warner <warner@lothar.com>**20120124203126
421 Ignore-this: 6d6142418eabdad789a2fc68f26b3ba1
422]
423[docs: an extra newline to separate utf-8 BOF from comment for the sake of trac's rst renderer
424zooko@zooko.com**20120122212002
425 Ignore-this: 5c6d0dbfa1430681fa00494937537956
426]
427[docs: a newline between the utf-8 BOF and the comment in order to prevent trac from misrendering the comment
428zooko@zooko.com**20120122211856
429 Ignore-this: 5e92cb88ba46b82227338522b834b90d
430 sheesh
431]
432[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
433zooko@zooko.com**20120122211731
434 Ignore-this: f7912a13ffba60408ec901a9586ce8a4
435]
436[docs: insert another newline between utf-8 BOF and title
437zooko@zooko.com**20120122211427
438 Ignore-this: 1b3861ef7d4531acfa61fac31e14fe98
439]
440[docs: insert newline after utf-8 BOF and before restructuredtext title
441zooko@zooko.com**20120122182127
442 Ignore-this: f947afe5bdfc9f44ba9bf7f0e585da7c
443]
444[docs: remove utf-8 "BOM" which confuses trac's rst renderer
445zooko@zooko.com**20120122140052
446 Ignore-this: ba58c59a314f23c65de5443bd7b6ffcb
447]
448[docs: try again to change RestructuredText titles to a format that trac will render
449zooko@zooko.com**20120122135613
450 Ignore-this: 588bbb627a95cd8317c809567cfa3e78
451]
452[docs: backdoors.rst: fix title formatting
453zooko@zooko.com**20120122135125
454 Ignore-this: 5bf980c1a8703ee353cd747ae343176a
455]
456[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
457zooko@zooko.com**20120122134319
458 Ignore-this: e1b5b3d2809040cfd7f13bb88ee8313d
459]
460[update release process: git, not darcs, etc
461Brian Warner <warner@lothar.com>**20120113071257
462 Ignore-this: 2eaa1f0e93dc545989bb1e62b2446e1e
463]
464[prepare to Org-ify how_to_make_a_tahoe-lafs_release: rename the file
465Brian Warner <warner@lothar.com>**20120113070153
466 Ignore-this: d9bb83dfd6c3b4c0ca0efd2adacdf63c
467]
468[.gitignore: ignore generated test-coverage files too
469Brian Warner <warner@lothar.com>**20120113065629
470 Ignore-this: 4411c7d620f5865b8c4dedef7e5a8c33
471]
472[merge relnotes, quickstart.rst from 1.9.1 release
473Brian Warner <warner@lothar.com>**20120112232420
474 Ignore-this: 6b535bb1a3bd5ea87ee12cc6b17eeb5c
475]
476[retrieve.py: unconditionally check share-hash-tree. Fixes #1654.
477Brian Warner <warner@lothar.com>**20120112213553
478 Ignore-this: 7ddc903a382b52bc014262b3b4099165
479 
480 Add Kevan's unit test, update known_issues.rst
481]
482[.gitignore: also ignore tahoe-deps and .tgz, to fix 'make tarballs'
483Brian Warner <warner@lothar.com>**20120112210925
484 Ignore-this: e8a7d942f123ee6bf4f2966ddc2742a3
485 
486 Otherwise, the get-version-from-git code thinks the tree is dirty, and
487 creates SUMO tarballs with -dirty in the name.
488]
489[Makefile: fix 'make-version' to use git-or-darcs, not just darcs
490Brian Warner <warner@lothar.com>**20120112210654
491 Ignore-this: ae32660458b5ab036ab98f0d1cf4e414
492]
493[_auto_deps.py: don't allow pycrypto 2.0.1. fixes #1631
494david-sarah@jacaranda.org**20120110195758
495 Ignore-this: de409a745c93a78b095dc72edd13a15d
496]
497[MANIFEST.in: make git-based 'setup.py sdist' match darcs
498Brian Warner <warner@lothar.com>**20120109234637
499 Ignore-this: 92bf7d679e9d5696994efe39c40ae216
500 
501 Previously, tarballs generated from a git tree were lacking a lot of
502 important non-code files, like docs/
503]
504[restore .gitignore, stop .darcs-boringfile it
505warner@lothar.com**20120109025243
506 Ignore-this: b37efcdab8662fe85660d68e3662b4b9
507]
508[remove setuptools_darcs.egg
509warner@lothar.com**20120108225545
510 Ignore-this: 39711cf7a9856acd5a136038d58ca5ff
511]
512[fix bundled data under git, remove setuptools_darcs
513Brian Warner <warner@lothar.com>**20120108221250
514 Ignore-this: ebfc0b267961523edd7e26c761b2554f
515 
516 This uses explicitly enumerated packages= and package_data= arguments to
517 setup(), rather than relying upon the convenient (but darcs-specific)
518 functions which would determine these values by asking the revision-control
519 system.
520 
521 Note that darcsver is still used, when building from a darcs tree.
522]
523[mutable/retrieve.py: clean up control flow to avoid dropping errors
524Brian Warner <warner@lothar.com>**20120108221248
525 Ignore-this: 4e991bdf6399439d2cee3d743814a327
526 
527 * replace DeferredList with gatherResults, simplify result handling
528 * use BadShareError to signal recoverable problems in either fetch or
529   validate, catch after _validate_block
530 * _validate_block is thus not responsible for noticing fetch problems
531 * rename _validation_or_decoding_failed() to _handle_bad_share()
532 * _get_needed_hashes() returns two Deferreds, instead of a hard-to-unpack
533   DeferredList
534]
535[mutable/layout.py: raise BadShareError instead of assert()
536Brian Warner <warner@lothar.com>**20120108221247
537 Ignore-this: 129891a807315f657b80576025135df8
538]
539[mutable: don't tell server about corruption unless it's really CorruptShareError
540Brian Warner <warner@lothar.com>**20120108221245
541 Ignore-this: 90da01af1008477c45d333a0f74f1c5b
542]
543[mutable: simplify Retrieve._process_segment() to use a gatherDeferred
544Brian Warner <warner@lothar.com>**20120108221244
545 Ignore-this: cfc7a56414889d02bffd747f1abad8ef
546]
547[Retrieve.decode(): simplify setup of DeferredList-like argument
548Brian Warner <warner@lothar.com>**20120108221240
549 Ignore-this: c92d377bf4d65251240e59c8db5452af
550 
551 make it more obviously match the expectations of _decode_blocks() and
552 _maybe_decode_and_decrypt_segment()
553]
554[mutable: add comments about the tricky DeferredList structures in retrieve
555Brian Warner <warner@lothar.com>**20120108221238
556 Ignore-this: da47db692fbdf11a3ce01a952a60d1a0
557]
558[add test-git-ignore.py, to port the 'clean' buildbot test to git
559Brian Warner <warner@lothar.com>**20120108221232
560 Ignore-this: 442efa1eacc27b7ae2690645ed997894
561 
562 add .gitignore to match .darcs-boringfile, mostly
563]
564[Add a Python 3 blocker to setup.py, to display a better error message when it is run under Python 3.
565david-sarah@jacaranda.org**20120127015525
566 Ignore-this: 5f032794ecc8cd6c512a7ab9efffed2
567]
568[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
569david-sarah@jacaranda.org**20111120232426
570 Ignore-this: d4ea9154e98902c5de055b6de23c48f9
571]
572[test_mutable: don't use 75 shares (slow), now that the bug is fixed
573Brian Warner <warner@lothar.com>**20111228223819
574 Ignore-this: 930f1a24ebe9ed2ab25e4b2a16e36352
575 
576 I missed this part of Kevan's fix-1628.darcs.2.patch .
577]
578[mutable publish: fix not-enough-shares detection. Refs #1628.
579Brian Warner <warner@lothar.com>**20111228055018
580 Ignore-this: 23db08d8d630268e208e1755509adf92
581 
582 This should match the "fix-1628.darcs.2.patch" attachment on that ticket.
583]
584[mutable publish: track multiple servers-per-share. Fixes some of #1628.
585Brian Warner <warner@lothar.com>**20111228053358
586 Ignore-this: 6e8cb92e70273b81098f73ebf23164bd
587 
588 The remaining work is to write additional tests.
589 
590 src/allmydata/test/no_network.py:
591 
592  This supports tests in which servers leave the grid only to return with
593  their shares intact at a later time.
594 
595 src/allmydata/test/test_mutable.py:
596 
597  The UCWEs in the incident reports associated with #1628 all seem to be
598  associated with shares that the servermap knows about, but which aren't
599  accounted for during the publish process for whatever reason. Specifically,
600  it looks like the publisher is only capable of keeping track of a single
601  storage server for a given share. This makes the repair process worse than
602  it was pre-MDMF at updating all of the shares of a particular file to the
603  newest version, and can also cause spurious UCWEs. This test simulates such
604  a layout and fails if an UCWE is thrown. We need to write another test to
605  ensure that all copies of a share are updated to the latest version (or
606  alter this test to do that), so that the test suite doesn't pass unless both
607  regressions are fixed.
608 
609  We want the publisher to follow the existing share placement when uploading
610  a new version of a mutable file, and we don't want this test to pass unless
611  it does.
612 
613 src/allmydata/mutable/publish.py:
614 
615  Before this commit, the publisher only kept track of a single writer for
616  each share. This is insufficient to handle updates in which a single share
617  may live on multiple servers. In the best case, an update will only update
618  one of the existing shares instead of all of them. In some cases, the update
619  will encounter the existing shares when publishing some other share,
620  interpret it as a sign of an uncoordinated update, and fail. Keeping track
621  of all of the writers helps ensure that all existing shares are updated, and
622  helps avoid spurious uncoordinated write errors.
623]
624[docs: how_to_make_a_tahoe-lafs_release.rst add Google+ page to publicity list, change to cute unicode checkboxes
625zooko@zooko.com**20111226151905
626 Ignore-this: c7c1e67761df48fa11c0dad1847c2d8
627]
628[doc: about.rst: use unicode emdash, use non-embedded URIs, add clarificaiton of when a file gets its mutable-or-immutable nature
629zooko@zooko.com**20111206171908
630 Ignore-this: 61bc3f1582c68dcc9867da964fc9bb3a
631 embedded URIs, although documented here:
632 http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#embedded-uris
633 generate messages like this from rst2html --verbose:
634 
635 quickstart.rst:3: (INFO/1) Duplicate explicit target name: "the tahoe-dev mailing list".
636 
637 Also this patch prepends a "utf-8 BOM" to the beginning of the file.
638]
639[minor cleanup: remove trailing spaces in misc/
640Brian Warner <warner@lothar.com>**20111218201841
641 Ignore-this: 69a8904c17d8fd930442d00e24b7b188
642]
643[Tests for ref #1592.
644david-sarah@jacaranda.org**20111217043130
645 Ignore-this: a6713500ebe2d686581c6743b8a88f60
646]
647[test_web.py cleanup: use failUnlessIn/failIfIn in preference to 'in' operator.
648david-sarah@jacaranda.org**20111217042710
649 Ignore-this: c351f4b1d162eca545ba657dc3c70c19
650]
651[Marcus Wanner's favicon patch. fixes #1592
652david-sarah@jacaranda.org**20111217033201
653 Ignore-this: 3528c920379fe0d157441dafe9a7c5a8
654]
655[setup.py: stop putting pyutil.version_class/etc in _version.py
656Brian Warner <warner@lothar.com>**20111205055049
657 Ignore-this: 926fa9a8a34a04f24ee6e006423e9c1
658 
659 allmydata.__version__ can just be a string, it doesn't need to be an instance
660 of some fancy NormalizedVersion class. Everything inside Tahoe uses
661 str(__version__) anyways.
662 
663 Also add .dev0 when a git tree is dirty.
664 
665 Closes #1466
666]
667[setup.py: get version from git or darcs
668Brian Warner <warner@lothar.com>**20111205044001
669 Ignore-this: 5a406b33000446d85edc722298391220
670 
671 This replaces the setup.cfg aliases that run "darcsver" before each major
672 command with the new "update_version". update_version is defined in setup.py,
673 and tries to get a version string from either darcs or git (or leaves the
674 existing _version.py alone if neither VC metadata is available).
675 
676 Also clean up a tiny typo in verlib.py that messed up syntax hilighting.
677]
678[docs/known_issues.rst: describe when the unauthorized access attack is known to be possible, and fix a link.
679david-sarah@jacaranda.org**20111118002013
680 Ignore-this: d89b1f1040a0a7ee0bde893d23612049
681]
682[more tiny buildbot-testing whitespace changes
683warner@lothar.com**20111118002041
684 Ignore-this: e816e2a5ab939e2f7a89ef12b8a157d8
685]
686[more tiny buildbot-testing whitespace changes
687warner@lothar.com**20111118001828
688 Ignore-this: 57bb52cba83ea9a19728ba0a8ffadb69
689]
690[tiny change to exercise the buildbot hook
691warner@lothar.com**20111118001511
692 Ignore-this: 7220b7790b39f19f9721d9e93b755030
693]
694[Strengthen description of unauthorized access attack in known_issues.rst.
695david-sarah@jacaranda.org**20111118000030
696 Ignore-this: e2f68f621fe666b6201542623aa4d182
697]
698[remove remaining uses of nevow's "formless" module
699Brian Warner <warner@lothar.com>**20111117225423
700 Ignore-this: a128dea91a1c63b3bbefa34729344d69
701 
702 We're slowly moving away from Nevow, and marcusw's previous patch removed
703 uses of the formless CSS file, so now we can stop testing that nevow can find
704 that file, and remove the lingering unused "import formless" call.
705]
706[1585-webui.darcs.patch
707Marcus Wanner <marcus@wanners.net>**20111117214923
708 Ignore-this: 23cf2a06c545be5f821c071d652178ee
709]
710[Remove duplicate tahoe_css links from manifest.xhtml and rename-form.xhtml
711Brian Warner <warner@lothar.com>**20111116224225
712 Ignore-this: 12024fff17964607799928928b9aadf3
713 
714 They were probably meant to be links to webform_css, but we aren't really
715 using Nevow's form-generation code anyways, so they can just be removed.
716 Thanks to 'marcusw' for the catch.
717]
718[iputil: handle openbsd5 (just like openbsd4)
719Brian Warner <warner@lothar.com>**20111115220423
720 Ignore-this: 64b28bd2fd06eb5230ea41d91540dd05
721 
722 Patch by 'sickness'. Closes #1584
723]
724[Makefile count-lines: let it work on OS-X (-l not --lines), add XXX
725Brian Warner <warner@lothar.com>**20111109184227
726 Ignore-this: 204ace1dadc9ed27543c62965b4e6757
727 
728 OS-X's simple-minded /usr/bin/wc doesn't understand --lines, but everyone
729 understands -l .
730]
731[setup.py: umask=022 for 'sdist', to avoid depending on environment
732Brian Warner <warner@lothar.com>**20111109183632
733 Ignore-this: acd5db88ba8f1972d618b14f9e5b803c
734 
735 The new tarball-building buildslave had a bogus umask set, causing the 1.9.0
736 tarballs to be non-other-user-readable (go-rwx), which is a hassle for
737 packaging. (The umask was correct on the old buildslave, but it was moved to
738 a new host shortly before the release). This should make sure tarballs are
739 correct despite the host's setting.
740 
741 Note to others: processes run under twistd get umask=077 unless you arrange
742 otherwise.
743]
744[_auto_deps.py: blacklist PyCrypto 2.4.
745david-sarah@jacaranda.org**20111105022457
746 Ignore-this: 876cb24bc71589e735f48bf449cad81e
747]
748[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
749david-sarah@jacaranda.org**20111009050301
750 Ignore-this: 62ee03f4b8a96c292e75c097ad87d52e
751]
752[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
753david-sarah@jacaranda.org**20111009045023
754 Ignore-this: f49ece515620081da1d745ae6da19d21
755]
756[check-miscaptures.py: Python doesn't really have declarations; report the topmost assignment. refs #1555
757david-sarah@jacaranda.org**20111009044800
758 Ignore-this: 4905c9dfe7726f433333e216a6760a4b
759]
760[check-miscaptures.py: handle destructuring function arguments correctly. refs #1555
761david-sarah@jacaranda.org**20111009044710
762 Ignore-this: f9de7d95e94446507a206c88d3f98a23
763]
764[check-miscaptures.py: check while loops and list comprehensions as well as for loops. Also fix a pyflakes warning. refs #1555
765david-sarah@jacaranda.org**20111009044022
766 Ignore-this: 6526e4e315ca6461b1fbc2da5568e444
767]
768[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
769david-sarah@jacaranda.org**20111007074121
770 Ignore-this: 51318e9678d132c374ea557ab955e79e
771]
772[Fix pyflakes warnings in misc/ directories other than misc/build_helpers. refs #1557
773david-sarah@jacaranda.org**20111007033031
774 Ignore-this: 7daf5862469732d8cabc355266622b74
775]
776[Makefile: include misc/ directories other than misc/build_helpers in SOURCES. refs #1557
777david-sarah@jacaranda.org**20111007032958
778 Ignore-this: 31376ec01401df7972e83341dc65aa05
779]
780[show-tool-versions: tolerate missing setuptools
781Brian Warner <warner@lothar.com>**20111101080010
782 Ignore-this: 72d4e440565273992beb4f010cbca699
783]
784[show-tool-versions.py: condense output, hide file-not-found exceptions
785Brian Warner <warner@lothar.com>**20111101074532
786 Ignore-this: a15381a76077ef46a74a4ac40c9ae956
787]
788[relnotes.txt: fix footnotes
789Brian Warner <warner@lothar.com>**20111101071935
790 Ignore-this: 668c1bd8618e21beed9bc6b23f048189
791]
792[Rewrite download-status-timeline visualizer ('viz') with d3.js
793Brian Warner <warner@lothar.com>**20111101061821
794 Ignore-this: 6149b027bbae52c559ef5a8167240cab
795 
796 * use d3.js v2.4.6
797 * add a "toggle misc events" button, to get hash/bitmap-checking details
798 * only draw data that's on screen, for speed
799 * add fragment-arg to fetch timeline data.json from somewhere else
800]
801[IServer refactoring: pass IServer instances around, instead of peerids
802Brian Warner <warner@lothar.com>**20111101040319
803 Ignore-this: 35e4698a0273a0311fe0ccedcc7881b5
804 
805 refs #1363
806 
807 This collapses 88 small incremental changes (each of which passes all tests)
808 into one big patch. The development process for the long path started with
809 adding some temporary scaffolding, changing one method at a time, then
810 removing the scaffolding. The individual pieces are as follows, in reverse
811 chronological order (the first patch is at the end of this comment):
812 
813  commit 9bbe4174fd0d98a6cf47a8ef96e85d9ef34b2f9a
814  Author: Brian Warner <warner@lothar.com>
815  Date:   Tue Oct 4 16:05:00 2011 -0400
816 
817      immutable/downloader/status.py: correct comment
818 
819   src/allmydata/immutable/downloader/status.py |    2 +-
820   1 files changed, 1 insertions(+), 1 deletions(-)
821 
822  commit 72146a7c7c91eac2f7c3ceb801eb7a1721376889
823  Author: Brian Warner <warner@lothar.com>
824  Date:   Tue Oct 4 15:46:20 2011 -0400
825 
826      remove temporary ServerMap._storage_broker
827 
828   src/allmydata/mutable/checker.py   |    2 +-
829   src/allmydata/mutable/filenode.py  |    2 +-
830   src/allmydata/mutable/publish.py   |    2 +-
831   src/allmydata/mutable/servermap.py |    5 ++---
832   src/allmydata/test/test_mutable.py |    8 ++++----
833   5 files changed, 9 insertions(+), 10 deletions(-)
834 
835  commit d703096b41632c47d76414b12672e076a422ff5c
836  Author: Brian Warner <warner@lothar.com>
837  Date:   Tue Oct 4 15:37:05 2011 -0400
838 
839      remove temporary storage_broker.get_server_for_id()
840 
841   src/allmydata/storage_client.py  |    3 ---
842   src/allmydata/test/no_network.py |   13 -------------
843   2 files changed, 0 insertions(+), 16 deletions(-)
844 
845  commit 620cc5d80882ef6f7decfd26af8a6c7c1ddf80d1
846  Author: Brian Warner <warner@lothar.com>
847  Date:   Tue Oct 4 12:50:06 2011 -0400
848 
849      API of Retrieve._try_to_validate_privkey(), trying to remove reader.server
850 
851   src/allmydata/mutable/retrieve.py |   10 +++++-----
852   1 files changed, 5 insertions(+), 5 deletions(-)
853 
854  commit 92f43f856f4a8b36c207d1b190ed8699b5a4ecb4
855  Author: Brian Warner <warner@lothar.com>
856  Date:   Tue Oct 4 12:48:08 2011 -0400
857 
858      API of Retrieve._validate_block(), trying to remove reader.server
859 
860   src/allmydata/mutable/retrieve.py |   14 +++++++-------
861   1 files changed, 7 insertions(+), 7 deletions(-)
862 
863  commit 572d5070761861a2190349d1ed8d85dbc25698a5
864  Author: Brian Warner <warner@lothar.com>
865  Date:   Tue Oct 4 12:36:58 2011 -0400
866 
867      API of Retrieve._mark_bad_share(), trying to remove reader.server
868 
869   src/allmydata/mutable/retrieve.py |   21 +++++++++------------
870   1 files changed, 9 insertions(+), 12 deletions(-)
871 
872  commit a793ff00c0de1e2eec7b46288fdf388c7a2bec89
873  Author: Brian Warner <warner@lothar.com>
874  Date:   Tue Oct 4 12:06:13 2011 -0400
875 
876      remove now-unused get_rref_for_serverid()
877 
878   src/allmydata/mutable/servermap.py |    3 ---
879   1 files changed, 0 insertions(+), 3 deletions(-)
880 
881  commit 1b9827cc9366bf90b93297fdd6832f2ad0480ce7
882  Author: Brian Warner <warner@lothar.com>
883  Date:   Tue Oct 4 12:03:09 2011 -0400
884 
885      Retrieve: stop adding .serverid attributes to readers
886 
887   src/allmydata/mutable/retrieve.py |    1 -
888   1 files changed, 0 insertions(+), 1 deletions(-)
889 
890  commit 5d4e9d491b19e49d2e443a1dfff2c672842c36ef
891  Author: Brian Warner <warner@lothar.com>
892  Date:   Tue Oct 4 12:03:34 2011 -0400
893 
894      return value of Retrieve(verify=True)
895 
896   src/allmydata/mutable/checker.py  |   11 ++++++-----
897   src/allmydata/mutable/retrieve.py |    3 +--
898   2 files changed, 7 insertions(+), 7 deletions(-)
899 
900  commit e9ab7978c384e1f677cb7779dc449b1044face82
901  Author: Brian Warner <warner@lothar.com>
902  Date:   Tue Oct 4 11:54:23 2011 -0400
903 
904      Retrieve._bad_shares (but not return value, used by Verifier)
905 
906   src/allmydata/mutable/retrieve.py |    7 ++++---
907   1 files changed, 4 insertions(+), 3 deletions(-)
908 
909  commit 2d91926de233ec5c881f30e36b4a30ad92ab42a9
910  Author: Brian Warner <warner@lothar.com>
911  Date:   Tue Oct 4 11:51:23 2011 -0400
912 
913      Publish: stop adding .serverid attributes to writers
914 
915   src/allmydata/mutable/publish.py |    9 ++-------
916   1 files changed, 2 insertions(+), 7 deletions(-)
917 
918  commit 47c7a0105dec7cbf4f7e0a3ce800bbb85b15df4a
919  Author: Brian Warner <warner@lothar.com>
920  Date:   Tue Oct 4 11:56:33 2011 -0400
921 
922      API of get_write_enabler()
923 
924   src/allmydata/mutable/filenode.py |    7 ++++---
925   src/allmydata/mutable/publish.py  |    4 ++--
926   src/allmydata/test/no_network.py  |    3 +++
927   3 files changed, 9 insertions(+), 5 deletions(-)
928 
929  commit 9196a5c6590fdbfd660325ea8358b345887d3db0
930  Author: Brian Warner <warner@lothar.com>
931  Date:   Tue Oct 4 11:46:24 2011 -0400
932 
933      API of get_(renewal|cancel)_secret()
934 
935   src/allmydata/mutable/filenode.py  |   14 ++++++++------
936   src/allmydata/mutable/publish.py   |    8 ++++----
937   src/allmydata/mutable/servermap.py |    5 ++---
938   3 files changed, 14 insertions(+), 13 deletions(-)
939 
940  commit de7c1552f8c163eff5b6d820b5fb3b21c1b47cb5
941  Author: Brian Warner <warner@lothar.com>
942  Date:   Tue Oct 4 11:41:52 2011 -0400
943 
944      API of CorruptShareError. Also comment out some related+unused test_web.py code
945 
946   src/allmydata/mutable/common.py    |   13 +++++--------
947   src/allmydata/mutable/retrieve.py  |   10 +++++-----
948   src/allmydata/mutable/servermap.py |    8 +++-----
949   src/allmydata/test/common.py       |   13 ++++++++-----
950   4 files changed, 21 insertions(+), 23 deletions(-)
951 
952  commit 2c1c314046b620c16f1e66d030c150d768b7d01e
953  Author: Brian Warner <warner@lothar.com>
954  Date:   Tue Oct 4 12:01:46 2011 -0400
955 
956      API of ServerMap.mark_bad_share()
957 
958   src/allmydata/mutable/publish.py   |    2 +-
959   src/allmydata/mutable/retrieve.py  |    6 +++---
960   src/allmydata/mutable/servermap.py |    6 ++----
961   src/allmydata/test/test_mutable.py |    3 +--
962   4 files changed, 7 insertions(+), 10 deletions(-)
963 
964  commit 1bed349030779fd0c378ae4e821384f953c6f6ff
965  Author: Brian Warner <warner@lothar.com>
966  Date:   Tue Oct 4 11:11:17 2011 -0400
967 
968      API+name of ServerMap.shares_on_server() : only for tests, so debug_ prefix
969 
970   src/allmydata/mutable/servermap.py |    7 ++-----
971   src/allmydata/test/test_mutable.py |    6 +++---
972   2 files changed, 5 insertions(+), 8 deletions(-)
973 
974  commit 2d32e448677d6b818692e801045d4115b29abf21
975  Author: Brian Warner <warner@lothar.com>
976  Date:   Tue Oct 4 11:07:10 2011 -0400
977 
978      API of ServerMap.all_servers_for_version()
979 
980   src/allmydata/mutable/servermap.py |    4 ++--
981   1 files changed, 2 insertions(+), 2 deletions(-)
982 
983  commit 48f3204d1889c3e7179578125c4bdef515af3d6a
984  Author: Brian Warner <warner@lothar.com>
985  Date:   Tue Oct 4 11:04:50 2011 -0400
986 
987      internals of ServerMap methods that use make_versionmap(), remove temp copy
988 
989   src/allmydata/mutable/servermap.py |   28 +++++++++----------------
990   1 files changed, 10 insertions(+), 18 deletions(-)
991 
992  commit 5c3da77b6c777a145bd5ddfaa4db849dc9495548
993  Author: Brian Warner <warner@lothar.com>
994  Date:   Tue Oct 4 11:01:28 2011 -0400
995 
996      API of ServerMap.make_versionmap()
997 
998   src/allmydata/mutable/checker.py   |    4 ++--
999   src/allmydata/mutable/retrieve.py  |    5 ++---
1000   src/allmydata/mutable/servermap.py |    4 ++--
1001   src/allmydata/test/test_mutable.py |    7 ++++---
1002   4 files changed, 10 insertions(+), 10 deletions(-)
1003 
1004  commit b6882ece49afb4c507d118af2db346fa329209dc
1005  Author: Brian Warner <warner@lothar.com>
1006  Date:   Tue Oct 4 10:53:38 2011 -0400
1007 
1008      make a copy of ServerMap.make_versionmap() (_make_versionmap2) for internal use
1009 
1010   src/allmydata/mutable/servermap.py |   18 +++++++++++++-----
1011   1 files changed, 13 insertions(+), 5 deletions(-)
1012 
1013  commit 963f8e63faf32b950eb1b8103cd2ff16fe8f0151
1014  Author: Brian Warner <warner@lothar.com>
1015  Date:   Tue Oct 4 00:45:58 2011 -0400
1016 
1017      API of RetrieveStatus.add_problem()
1018 
1019   src/allmydata/mutable/retrieve.py |    5 +++--
1020   1 files changed, 3 insertions(+), 2 deletions(-)
1021 
1022  commit 4976d29ffae565a048851601c29013bbae2976d8
1023  Author: Brian Warner <warner@lothar.com>
1024  Date:   Tue Oct 4 00:45:05 2011 -0400
1025 
1026      API of RetrieveStatus.add_fetch_timing()
1027 
1028   src/allmydata/mutable/retrieve.py |    5 +++--
1029   1 files changed, 3 insertions(+), 2 deletions(-)
1030 
1031  commit d057d3bbba72663ee148a8b916bc2d52be2e3982
1032  Author: Brian Warner <warner@lothar.com>
1033  Date:   Tue Oct 4 00:44:04 2011 -0400
1034 
1035      API of Retrieve.notify_server_corruption()
1036 
1037   src/allmydata/mutable/retrieve.py |    6 +++---
1038   1 files changed, 3 insertions(+), 3 deletions(-)
1039 
1040  commit 8a2a81e46671c860610e0e96d6add1a57551f22d
1041  Author: Brian Warner <warner@lothar.com>
1042  Date:   Tue Oct 4 00:42:32 2011 -0400
1043 
1044      remove unused _outstanding_queries
1045 
1046   src/allmydata/mutable/retrieve.py |    1 -
1047   1 files changed, 0 insertions(+), 1 deletions(-)
1048 
1049  commit 56d12cc9968d03ccd53764455c671122c4f391d1
1050  Author: Brian Warner <warner@lothar.com>
1051  Date:   Tue Oct 4 00:40:57 2011 -0400
1052 
1053      change Retrieve.remaining_sharemap
1054 
1055   src/allmydata/mutable/retrieve.py |    4 ++--
1056   1 files changed, 2 insertions(+), 2 deletions(-)
1057 
1058  commit 4f0b7af4821f43290bfc70f2b1fc30149ad81281
1059  Author: Brian Warner <warner@lothar.com>
1060  Date:   Tue Oct 4 10:40:18 2011 -0400
1061 
1062      accessor for PublishStatus._problems
1063 
1064   src/allmydata/mutable/publish.py |    4 +++-
1065   src/allmydata/web/status.py      |    2 +-
1066   2 files changed, 4 insertions(+), 2 deletions(-)
1067 
1068  commit 627087cf66d0b8cc519f4d551a967a7bd9b6a741
1069  Author: Brian Warner <warner@lothar.com>
1070  Date:   Tue Oct 4 10:36:39 2011 -0400
1071 
1072      accessor for RetrieveStatus._problems
1073 
1074   src/allmydata/mutable/retrieve.py |    8 ++++++--
1075   src/allmydata/web/status.py       |    2 +-
1076   2 files changed, 7 insertions(+), 3 deletions(-)
1077 
1078  commit ca7dea81f03801b1c7353fc00ecba689268109cf
1079  Author: Brian Warner <warner@lothar.com>
1080  Date:   Tue Oct 4 00:35:32 2011 -0400
1081 
1082      add .server to "reader", so we can get at it later
1083 
1084   src/allmydata/mutable/retrieve.py |    5 +++--
1085   1 files changed, 3 insertions(+), 2 deletions(-)
1086 
1087  commit 6ef516e24908ec195af084a7550d1921a5e983b0
1088  Author: Brian Warner <warner@lothar.com>
1089  Date:   Tue Oct 4 00:32:32 2011 -0400
1090 
1091      temporarily give Retrieve a _storage_broker, so it can map serverids to servers
1092 
1093   src/allmydata/mutable/checker.py   |    3 ++-
1094   src/allmydata/mutable/filenode.py  |    6 ++++--
1095   src/allmydata/mutable/retrieve.py  |    5 +++--
1096   src/allmydata/test/test_mutable.py |    4 ++--
1097   4 files changed, 11 insertions(+), 7 deletions(-)
1098 
1099  commit afe08e4dd3f4ff9ff7e8a2a8d28b181e3625bcc9
1100  Author: Brian Warner <warner@lothar.com>
1101  Date:   Tue Oct 4 00:21:51 2011 -0400
1102 
1103      mutable/retrieve.py: s/peer/server/
1104 
1105   src/allmydata/mutable/retrieve.py  |   82 +++++++++++++-------------
1106   src/allmydata/test/test_mutable.py |    6 +-
1107   2 files changed, 44 insertions(+), 44 deletions(-)
1108 
1109  commit 910afcb5d7f274880f68dd6cdb5b05f2bbc29adc
1110  Author: Brian Warner <warner@lothar.com>
1111  Date:   Tue Oct 4 00:16:01 2011 -0400
1112 
1113      web.status.PublishStatusPage: add comment, I think .problems isn't exercised
1114 
1115   src/allmydata/web/status.py |    2 ++
1116   1 files changed, 2 insertions(+), 0 deletions(-)
1117 
1118  commit 311466dd8c931bbba40d590ade867704282e7f1a
1119  Author: Brian Warner <warner@lothar.com>
1120  Date:   Mon Oct 3 23:48:16 2011 -0400
1121 
1122      API of PublishStatus.add_per_server_time()
1123 
1124   src/allmydata/mutable/publish.py |    5 +++--
1125   1 files changed, 3 insertions(+), 2 deletions(-)
1126 
1127  commit 2df5faa1b6cbfbaded520d2320305a62fe961118
1128  Author: Brian Warner <warner@lothar.com>
1129  Date:   Mon Oct 3 23:46:37 2011 -0400
1130 
1131      more simplifications
1132 
1133   src/allmydata/mutable/publish.py |    4 +---
1134   1 files changed, 1 insertions(+), 3 deletions(-)
1135 
1136  commit 6ac4544a3da385f2aad9392f906b90192f4f919a
1137  Author: Brian Warner <warner@lothar.com>
1138  Date:   Mon Oct 3 23:44:08 2011 -0400
1139 
1140      API of ServerMap.version_on_server()
1141 
1142   src/allmydata/mutable/publish.py   |    2 +-
1143   src/allmydata/mutable/servermap.py |    4 ++--
1144   src/allmydata/test/test_mutable.py |    5 ++---
1145   3 files changed, 5 insertions(+), 6 deletions(-)
1146 
1147  commit 3e187e322511072e4683329df6b2c6c733a66dba
1148  Author: Brian Warner <warner@lothar.com>
1149  Date:   Tue Oct 4 00:16:32 2011 -0400
1150 
1151      API of ServerMap.make_sharemap()
1152 
1153   src/allmydata/mutable/servermap.py |    4 ++--
1154   src/allmydata/test/test_mutable.py |    7 ++++---
1155   src/allmydata/web/status.py        |    4 ++--
1156   3 files changed, 8 insertions(+), 7 deletions(-)
1157 
1158  commit 318feed8437bdd8d4943c6569d38f7b54b6313cc
1159  Author: Brian Warner <warner@lothar.com>
1160  Date:   Mon Oct 3 23:36:19 2011 -0400
1161 
1162      small cleanups
1163 
1164   src/allmydata/mutable/publish.py |    4 ++--
1165   1 files changed, 2 insertions(+), 2 deletions(-)
1166 
1167  commit bd459ed5714e1db5a7163935c54b7b0b56db8349
1168  Author: Brian Warner <warner@lothar.com>
1169  Date:   Mon Oct 3 23:33:39 2011 -0400
1170 
1171      API of ServerMap.add_new_share()
1172 
1173   src/allmydata/mutable/publish.py   |    4 ++--
1174   src/allmydata/mutable/servermap.py |    6 ++----
1175   2 files changed, 4 insertions(+), 6 deletions(-)
1176 
1177  commit f2804fb6ed11d80088e0da8ed48e6c2922f2ffef
1178  Author: Brian Warner <warner@lothar.com>
1179  Date:   Mon Oct 3 23:30:26 2011 -0400
1180 
1181      API of ServerMap.get_bad_shares()
1182 
1183   src/allmydata/mutable/publish.py   |    3 +--
1184   src/allmydata/mutable/servermap.py |    9 ++++-----
1185   2 files changed, 5 insertions(+), 7 deletions(-)
1186 
1187  commit 965074a47b3ce1431cb46d9a233840afcf9105f5
1188  Author: Brian Warner <warner@lothar.com>
1189  Date:   Mon Oct 3 23:26:58 2011 -0400
1190 
1191      more small cleanups
1192 
1193   src/allmydata/mutable/publish.py |    6 +++---
1194   1 files changed, 3 insertions(+), 3 deletions(-)
1195 
1196  commit 38020da34f034f8889947dd3dc05e087ffff7106
1197  Author: Brian Warner <warner@lothar.com>
1198  Date:   Mon Oct 3 23:18:47 2011 -0400
1199 
1200      change Publish.bad_share_checkstrings
1201 
1202   src/allmydata/mutable/publish.py |    6 +++---
1203   1 files changed, 3 insertions(+), 3 deletions(-)
1204 
1205  commit 5efebcbd2ee0c2f299ea86f7591d856c0f265304
1206  Author: Brian Warner <warner@lothar.com>
1207  Date:   Mon Oct 3 23:16:31 2011 -0400
1208 
1209      change internals of Publish.update_goal()
1210 
1211   src/allmydata/mutable/publish.py |    8 +++-----
1212   1 files changed, 3 insertions(+), 5 deletions(-)
1213 
1214  commit e91b55ff4c2a69165b71f2c7b217ac319ff4c527
1215  Author: Brian Warner <warner@lothar.com>
1216  Date:   Mon Oct 3 23:11:42 2011 -0400
1217 
1218      get rid of Publish.connections
1219 
1220   src/allmydata/mutable/publish.py |   27 +++++----------------------
1221   1 files changed, 5 insertions(+), 22 deletions(-)
1222 
1223  commit 64e9a53b3229ebe2f9ebf7ed502d539311d0e037
1224  Author: Brian Warner <warner@lothar.com>
1225  Date:   Mon Oct 3 23:05:32 2011 -0400
1226 
1227      change Publish.bad_servers
1228 
1229   src/allmydata/mutable/publish.py |   10 +++++-----
1230   1 files changed, 5 insertions(+), 5 deletions(-)
1231 
1232  commit b85a934bef315a06bcfe00c9c12a3627fed2b918
1233  Author: Brian Warner <warner@lothar.com>
1234  Date:   Mon Oct 3 23:03:07 2011 -0400
1235 
1236      Publish.bad_servers: fix bug, this should be a set of serverids, not writers
1237 
1238   src/allmydata/mutable/publish.py |    2 +-
1239   1 files changed, 1 insertions(+), 1 deletions(-)
1240 
1241  commit 605ea15ec15ed671513819003ccd211cdb9761e0
1242  Author: Brian Warner <warner@lothar.com>
1243  Date:   Mon Oct 3 23:00:21 2011 -0400
1244 
1245      change .placed
1246 
1247   src/allmydata/mutable/publish.py |    6 +++---
1248   1 files changed, 3 insertions(+), 3 deletions(-)
1249 
1250  commit f7aba37b1b345d5b6d5cb16e3b3f6f3c1afb658e
1251  Author: Brian Warner <warner@lothar.com>
1252  Date:   Mon Oct 3 22:59:22 2011 -0400
1253 
1254      temporarily stash IServer as .server on the "writer" object
1255 
1256   src/allmydata/mutable/publish.py |    2 ++
1257   1 files changed, 2 insertions(+), 0 deletions(-)
1258 
1259  commit f9b551d788e7db1f187fce5ab98ab5d5fe4e1c36
1260  Author: Brian Warner <warner@lothar.com>
1261  Date:   Mon Oct 3 22:48:18 2011 -0400
1262 
1263      change Publish.goal and API of log_goal() to use IServer, not serverid
1264 
1265   src/allmydata/mutable/publish.py |   48 ++++++++++++++--------------
1266   1 files changed, 24 insertions(+), 24 deletions(-)
1267 
1268  commit 75f20616558e4900b8b1f685dd99aa838de6d452
1269  Author: Brian Warner <warner@lothar.com>
1270  Date:   Mon Oct 3 15:27:02 2011 -0400
1271 
1272      API of ServerMap.get_known_shares()
1273 
1274   src/allmydata/mutable/publish.py   |   16 ++++++++++------
1275   src/allmydata/mutable/servermap.py |    7 ++-----
1276   2 files changed, 12 insertions(+), 11 deletions(-)
1277 
1278  commit 1c38c9d37bb08221b4418762234b1a62397b3b4b
1279  Author: Brian Warner <warner@lothar.com>
1280  Date:   Mon Oct 3 15:20:29 2011 -0400
1281 
1282      Publish.full_serverlist
1283 
1284   src/allmydata/mutable/publish.py |   10 +++++-----
1285   1 files changed, 5 insertions(+), 5 deletions(-)
1286 
1287  commit b6cbd215a04b9cde31a7d92a97a7f048622b16f1
1288  Author: Brian Warner <warner@lothar.com>
1289  Date:   Mon Oct 3 15:12:31 2011 -0400
1290 
1291      API of ServerMap.all_servers()
1292 
1293   src/allmydata/mutable/servermap.py |   19 ++++++-------------
1294   1 files changed, 6 insertions(+), 13 deletions(-)
1295 
1296  commit e63cd0315fae65357b1727ec6d5ff3c6e0d27c98
1297  Author: Brian Warner <warner@lothar.com>
1298  Date:   Mon Oct 3 15:10:18 2011 -0400
1299 
1300      remove ServerMap.connections, set_rref_for_serverid()
1301 
1302   src/allmydata/mutable/servermap.py |   11 +----------
1303   1 files changed, 1 insertions(+), 10 deletions(-)
1304 
1305  commit 4df52db2f80eb12eefa5d57103c24893cde89553
1306  Author: Brian Warner <warner@lothar.com>
1307  Date:   Mon Oct 3 15:04:06 2011 -0400
1308 
1309      API of ServerMap.mark_server_reachable()
1310 
1311   src/allmydata/mutable/servermap.py |    7 ++-----
1312   1 files changed, 2 insertions(+), 5 deletions(-)
1313 
1314  commit 69c715bde77944dc25181b3dbbeb042c816f9a1b
1315  Author: Brian Warner <warner@lothar.com>
1316  Date:   Mon Oct 3 15:03:21 2011 -0400
1317 
1318      API of ServerMap.mark_server_unreachable()
1319 
1320   src/allmydata/mutable/servermap.py |    9 +++------
1321   1 files changed, 3 insertions(+), 6 deletions(-)
1322 
1323  commit 3d784d60eec1c508858e3a617e4411ffbcc3c1fa
1324  Author: Brian Warner <warner@lothar.com>
1325  Date:   Mon Oct 3 15:02:03 2011 -0400
1326 
1327      API of status.set_privkey_from()
1328 
1329   src/allmydata/mutable/servermap.py |    7 +++----
1330   1 files changed, 3 insertions(+), 4 deletions(-)
1331 
1332  commit 544ed3ea29bed7e66da7fd29ca3f6f076f27a9e6
1333  Author: Brian Warner <warner@lothar.com>
1334  Date:   Mon Oct 3 15:01:15 2011 -0400
1335 
1336      API of status.add_per_server_time()
1337 
1338   src/allmydata/mutable/servermap.py |    7 ++++---
1339   1 files changed, 4 insertions(+), 3 deletions(-)
1340 
1341  commit fffe5008b6320bd1e04c3c68389a2bf2ee383fa8
1342  Author: Brian Warner <warner@lothar.com>
1343  Date:   Mon Oct 3 14:59:02 2011 -0400
1344 
1345      remove unused .versionmap
1346 
1347   src/allmydata/mutable/servermap.py |    7 -------
1348   1 files changed, 0 insertions(+), 7 deletions(-)
1349 
1350  commit 2816562e090d2294179db3588dafcca18de1bc2b
1351  Author: Brian Warner <warner@lothar.com>
1352  Date:   Mon Oct 3 14:57:51 2011 -0400
1353 
1354      remove serverid from all log messages. Also one unused lambda.
1355 
1356   src/allmydata/mutable/servermap.py |   30 +++++++++++++-------------
1357   1 files changed, 15 insertions(+), 15 deletions(-)
1358 
1359  commit 28fa6b1a2738fa98c1f1dbd3d0e01ae98912d11f
1360  Author: Brian Warner <warner@lothar.com>
1361  Date:   Mon Oct 3 14:54:30 2011 -0400
1362 
1363      removed unused _readers
1364 
1365   src/allmydata/mutable/servermap.py |    3 ---
1366   1 files changed, 0 insertions(+), 3 deletions(-)
1367 
1368  commit a8e4ed3d645ab592d1add6a1e69b6d1ebfb77817
1369  Author: Brian Warner <warner@lothar.com>
1370  Date:   Mon Oct 3 14:54:16 2011 -0400
1371 
1372      remove unused _sharemap
1373 
1374   src/allmydata/mutable/servermap.py |    1 -
1375   1 files changed, 0 insertions(+), 1 deletions(-)
1376 
1377  commit 3f072e55cf1d0700f9fffe23f8f3a475725df588
1378  Author: Brian Warner <warner@lothar.com>
1379  Date:   Mon Oct 3 14:49:03 2011 -0400
1380 
1381      _must_query
1382 
1383   src/allmydata/mutable/servermap.py |    8 ++++----
1384   1 files changed, 4 insertions(+), 4 deletions(-)
1385 
1386  commit c599a059b8df3f5785e4bf89fb6ecc6d8dcd708b
1387  Author: Brian Warner <warner@lothar.com>
1388  Date:   Mon Oct 3 14:48:05 2011 -0400
1389 
1390      _queries_outstanding
1391 
1392   src/allmydata/mutable/servermap.py |   16 +++++++---------
1393   1 files changed, 7 insertions(+), 9 deletions(-)
1394 
1395  commit 7743759f98ac2c07926b2fdbd80bf52dfab33085
1396  Author: Brian Warner <warner@lothar.com>
1397  Date:   Mon Oct 3 14:46:17 2011 -0400
1398 
1399      _empty_servers
1400 
1401   src/allmydata/mutable/servermap.py |    5 ++---
1402   1 files changed, 2 insertions(+), 3 deletions(-)
1403 
1404  commit 6bb1825916828a713a32cdf7f7411fa3ea2e1e5d
1405  Author: Brian Warner <warner@lothar.com>
1406  Date:   Mon Oct 3 14:45:39 2011 -0400
1407 
1408      _good_servers
1409 
1410   src/allmydata/mutable/servermap.py |    4 ++--
1411   1 files changed, 2 insertions(+), 2 deletions(-)
1412 
1413  commit 1768fab1b51d8dd93ecabbaaabfadfa20cf6c3d4
1414  Author: Brian Warner <warner@lothar.com>
1415  Date:   Mon Oct 3 14:44:59 2011 -0400
1416 
1417      _bad_servers
1418 
1419   src/allmydata/mutable/servermap.py |   14 +++++++-------
1420   1 files changed, 7 insertions(+), 7 deletions(-)
1421 
1422  commit dccbaef30f0ba714c746bf6d4a1a803c36e17b65
1423  Author: Brian Warner <warner@lothar.com>
1424  Date:   Mon Oct 3 14:41:54 2011 -0400
1425 
1426      API of _try_to_set_pubkey()
1427 
1428   src/allmydata/mutable/servermap.py |    7 ++++---
1429   1 files changed, 4 insertions(+), 3 deletions(-)
1430 
1431  commit 0481ea70042ba3575f15eac7fd0780f8ece580cc
1432  Author: Brian Warner <warner@lothar.com>
1433  Date:   Mon Oct 3 14:35:02 2011 -0400
1434 
1435      API of notify_server_corruption()
1436 
1437   src/allmydata/mutable/servermap.py |    6 +++---
1438   1 files changed, 3 insertions(+), 3 deletions(-)
1439 
1440  commit bea9cba18fb3b9c11bb22f18356a263ecec7351e
1441  Author: Brian Warner <warner@lothar.com>
1442  Date:   Mon Oct 3 14:34:09 2011 -0400
1443 
1444      API of _got_signature_one_share()
1445 
1446   src/allmydata/mutable/servermap.py |    9 +++++----
1447   1 files changed, 5 insertions(+), 4 deletions(-)
1448 
1449  commit 1520123583cf78650706e114b15bb5b0ac1f4a14
1450  Author: Brian Warner <warner@lothar.com>
1451  Date:   Mon Oct 3 14:32:33 2011 -0400
1452 
1453      API of _try_to_validate_privkey()
1454 
1455   src/allmydata/mutable/servermap.py |    9 +++++----
1456   1 files changed, 5 insertions(+), 4 deletions(-)
1457 
1458  commit 938852c9c8519c7a078f58a9b1f4dd8ec8b6715e
1459  Author: Brian Warner <warner@lothar.com>
1460  Date:   Mon Oct 3 14:31:48 2011 -0400
1461 
1462      API and internals of _add_lease_failed()
1463 
1464   src/allmydata/mutable/servermap.py |    8 ++++----
1465   1 files changed, 4 insertions(+), 4 deletions(-)
1466 
1467  commit 3843dba367e3c19e176a622ab853cb51d2472ddf
1468  Author: Brian Warner <warner@lothar.com>
1469  Date:   Mon Oct 3 14:30:37 2011 -0400
1470 
1471      API of _privkey_query_failed()
1472 
1473   src/allmydata/mutable/servermap.py |    5 +++--
1474   1 files changed, 3 insertions(+), 2 deletions(-)
1475 
1476  commit 2219a710e1633cd57d0ca0786490de87b3e19ba7
1477  Author: Brian Warner <warner@lothar.com>
1478  Date:   Mon Oct 3 14:29:43 2011 -0400
1479 
1480      fix bug in call to _privkey_query_failed, unrelated to refactoring
1481 
1482   src/allmydata/mutable/servermap.py |    2 +-
1483   1 files changed, 1 insertions(+), 1 deletions(-)
1484 
1485  commit ae615bec7d0d1b269710b6902797b12f9592ad62
1486  Author: Brian Warner <warner@lothar.com>
1487  Date:   Mon Oct 3 14:27:17 2011 -0400
1488 
1489      API of _got_corrupt_share()
1490 
1491   src/allmydata/mutable/servermap.py |   17 +++++++++--------
1492   1 files changed, 9 insertions(+), 8 deletions(-)
1493 
1494  commit cb51c95a6f4e077278157a77dab060c8c1ad7a81
1495  Author: Brian Warner <warner@lothar.com>
1496  Date:   Mon Oct 3 14:23:16 2011 -0400
1497 
1498      API of _got_results()
1499 
1500   src/allmydata/mutable/servermap.py |    9 +++++----
1501   1 files changed, 5 insertions(+), 4 deletions(-)
1502 
1503  commit bac9154fe0af18f226999a58ffc2362d8cf4b802
1504  Author: Brian Warner <warner@lothar.com>
1505  Date:   Mon Oct 3 14:19:19 2011 -0400
1506 
1507      API of _query_failed()
1508 
1509   src/allmydata/mutable/servermap.py |    5 +++--
1510   1 files changed, 3 insertions(+), 2 deletions(-)
1511 
1512  commit fdc29a8ca95d4b5c503e5382b9e5d4d02141ba12
1513  Author: Brian Warner <warner@lothar.com>
1514  Date:   Mon Oct 3 14:17:20 2011 -0400
1515 
1516      API of _do_read()
1517 
1518   src/allmydata/mutable/servermap.py |    6 ++++--
1519   1 files changed, 4 insertions(+), 2 deletions(-)
1520 
1521  commit e7e9e338f28d004aa4d423d11c65f1e271ac7322
1522  Author: Brian Warner <warner@lothar.com>
1523  Date:   Mon Oct 3 14:20:21 2011 -0400
1524 
1525      API of _do_query()
1526 
1527   src/allmydata/mutable/servermap.py |   15 +++++++--------
1528   1 files changed, 7 insertions(+), 8 deletions(-)
1529 
1530  commit 330625b9dac4cdbe72a11464a893065b9aeed453
1531  Author: Brian Warner <warner@lothar.com>
1532  Date:   Mon Oct 3 14:43:05 2011 -0400
1533 
1534      next step: first batch of updates to ServermapUpdater
1535 
1536      updates:
1537       most method-local variables in update()
1538       API of _build_initial_querylist()
1539       API of _send_initial_requests()
1540       .full_serverlist
1541       .extra_servers
1542 
1543   src/allmydata/mutable/servermap.py |   39 ++++++++++++++------------
1544   1 files changed, 21 insertions(+), 18 deletions(-)
1545 
1546  commit 4aadc584fa7dcb2daa86b048c81dee0049ba26d9
1547  Author: Brian Warner <warner@lothar.com>
1548  Date:   Mon Oct 3 15:07:00 2011 -0400
1549 
1550      internal change: index _bad_shares with IServer
1551 
1552   src/allmydata/mutable/servermap.py |   20 ++++++++++----------
1553   1 files changed, 10 insertions(+), 10 deletions(-)
1554 
1555  commit 16d4e6fa82a9907dbdc92094213387c6a4164e41
1556  Author: Brian Warner <warner@lothar.com>
1557  Date:   Mon Oct 3 18:20:47 2011 +0100
1558 
1559      internal change: index _known_shares with IServer instead of serverid
1560 
1561      callers are unchanged
1562 
1563   src/allmydata/mutable/servermap.py |   42 +++++++++++++++----------
1564   1 files changed, 25 insertions(+), 17 deletions(-)
1565 
1566  commit ceeb5f4938cc814a0c75d1b8f4018aed965c2176
1567  Author: Brian Warner <warner@lothar.com>
1568  Date:   Mon Oct 3 18:11:43 2011 +0100
1569 
1570      accessors and name cleanup for servermap.Servermap.last_update_mode/time
1571 
1572   src/allmydata/mutable/filenode.py  |    6 +++---
1573   src/allmydata/mutable/publish.py   |    4 ++--
1574   src/allmydata/mutable/servermap.py |   17 +++++++++++------
1575   3 files changed, 16 insertions(+), 11 deletions(-)
1576 
1577  commit 8d3cbda82661c0a7e5c3d3b65cf7a5d5ab7e32c0
1578  Author: Brian Warner <warner@lothar.com>
1579  Date:   Mon Oct 3 18:11:14 2011 +0100
1580 
1581      accessors and name cleanup for servermap.Servermap.problems
1582 
1583   src/allmydata/mutable/servermap.py |   21 +++++++++++++--------
1584   src/allmydata/test/test_mutable.py |    6 +++---
1585   2 files changed, 16 insertions(+), 11 deletions(-)
1586 
1587  commit 348f57988f79389db0aab7672e6eaa9a6d8e3219
1588  Author: Brian Warner <warner@lothar.com>
1589  Date:   Mon Oct 3 18:10:41 2011 +0100
1590 
1591      accessors and name cleanup for servermap.Servermap.bad_shares
1592 
1593   src/allmydata/mutable/publish.py   |    2 +-
1594   src/allmydata/mutable/servermap.py |   30 ++++++++++++++-----------
1595   2 files changed, 18 insertions(+), 14 deletions(-)
1596 
1597  commit 520c9368134673cdf76c653c5e1bb91c2ab5d51e
1598  Author: Brian Warner <warner@lothar.com>
1599  Date:   Mon Oct 3 18:10:05 2011 +0100
1600 
1601      accessors and name cleanup for servermap.Servermap.servermap .
1602 
1603   src/allmydata/mutable/publish.py   |   14 +++++----
1604   src/allmydata/mutable/servermap.py |   38 ++++++++++++++-----------
1605   2 files changed, 29 insertions(+), 23 deletions(-)
1606 
1607  commit b8b8dc38287a91dbdf494426ac801d9381ce5841
1608  Author: Brian Warner <warner@lothar.com>
1609  Date:   Mon Oct 3 18:08:02 2011 +0100
1610 
1611      fix reachable_servers
1612 
1613   src/allmydata/mutable/checker.py   |    3 ++-
1614   src/allmydata/mutable/publish.py   |    4 +++-
1615   src/allmydata/mutable/servermap.py |   12 ++++++++++--
1616   3 files changed, 15 insertions(+), 4 deletions(-)
1617 
1618  commit cb0cfd1adfefad357c187aaaf690c3df68b622bc
1619  Author: Brian Warner <warner@lothar.com>
1620  Date:   Mon Oct 3 18:06:03 2011 +0100
1621 
1622      fix Servermap.unreachable_servers
1623 
1624   src/allmydata/mutable/servermap.py |   11 ++++++++---
1625   1 files changed, 8 insertions(+), 3 deletions(-)
1626 
1627  commit 2d9ea79b94bd4db674d40386fda90825785ac495
1628  Author: Brian Warner <warner@lothar.com>
1629  Date:   Mon Oct 3 18:03:48 2011 +0100
1630 
1631      give ServerMap a StorageFarmBroker, temporary
1632 
1633      this makes it possible for the ServerMap to accept bare serverids and still
1634      build data structures with IServers
1635 
1636   src/allmydata/mutable/checker.py   |    2 +-
1637   src/allmydata/mutable/filenode.py  |    2 +-
1638   src/allmydata/mutable/publish.py   |    2 +-
1639   src/allmydata/mutable/servermap.py |    5 +++--
1640   src/allmydata/test/test_mutable.py |    8 ++++----
1641   5 files changed, 10 insertions(+), 9 deletions(-)
1642 
1643  commit 718d1aeff6fded893f65397806d22ece928b0dd4
1644  Author: Brian Warner <warner@lothar.com>
1645  Date:   Mon Oct 3 13:43:30 2011 -0400
1646 
1647      add StorageFarmBroker.get_server_for_id(), temporary helper
1648 
1649      This will go away once we're passing IServers everywhere.
1650 
1651   src/allmydata/storage_client.py  |    2 ++
1652   src/allmydata/test/no_network.py |   13 +++++++++++++
1653   2 files changed, 15 insertions(+), 0 deletions(-)
1654 
1655  commit ece20231d7fda0d503704842a4aa068dfbc2e54e
1656  Author: Brian Warner <warner@lothar.com>
1657  Date:   Sun Oct 2 01:11:50 2011 +0100
1658 
1659      add proper accessors for Servermap.connections, to make refactoring easier
1660 
1661   src/allmydata/mutable/publish.py   |    6 +++---
1662   src/allmydata/mutable/retrieve.py  |   10 +++++-----
1663   src/allmydata/mutable/servermap.py |   17 +++++++++++------
1664   3 files changed, 19 insertions(+), 14 deletions(-)
1665 
1666  commit 3b943d6bf302ff702668081a612fc4fe2604cf9c
1667  Author: Brian Warner <warner@lothar.com>
1668  Date:   Fri Sep 23 10:34:30 2011 -0700
1669 
1670      mutable/servermap.py and neighbors: s/peer/server/
1671 
1672   src/allmydata/mutable/checker.py   |   22 +-
1673   src/allmydata/mutable/publish.py   |  204 +++++++-------
1674   src/allmydata/mutable/servermap.py |  402 +++++++++++++-------------
1675   src/allmydata/test/test_mutable.py |   18 +-
1676   4 files changed, 323 insertions(+), 323 deletions(-)
1677 IServer refactoring: pass IServer instances around, instead of peerids
1678 
1679 refs #1363
1680 
1681 This collapses 88 small incremental changes (each of which passes all tests)
1682 into one big patch. The development process for the long path started with
1683 adding some temporary scaffolding, changing one method at a time, then
1684 removing the scaffolding. The individual pieces are as follows, in reverse
1685 chronological order (the first patch is at the end of this comment):
1686 
1687  commit 9bbe4174fd0d98a6cf47a8ef96e85d9ef34b2f9a
1688  Author: Brian Warner <warner@lothar.com>
1689  Date:   Tue Oct 4 16:05:00 2011 -0400
1690 
1691      immutable/downloader/status.py: correct comment
1692 
1693   src/allmydata/immutable/downloader/status.py |    2 +-
1694   1 files changed, 1 insertions(+), 1 deletions(-)
1695 
1696  commit 72146a7c7c91eac2f7c3ceb801eb7a1721376889
1697  Author: Brian Warner <warner@lothar.com>
1698  Date:   Tue Oct 4 15:46:20 2011 -0400
1699 
1700      remove temporary ServerMap._storage_broker
1701 
1702   src/allmydata/mutable/checker.py   |    2 +-
1703   src/allmydata/mutable/filenode.py  |    2 +-
1704   src/allmydata/mutable/publish.py   |    2 +-
1705   src/allmydata/mutable/servermap.py |    5 ++---
1706   src/allmydata/test/test_mutable.py |    8 ++++----
1707   5 files changed, 9 insertions(+), 10 deletions(-)
1708 
1709  commit d703096b41632c47d76414b12672e076a422ff5c
1710  Author: Brian Warner <warner@lothar.com>
1711  Date:   Tue Oct 4 15:37:05 2011 -0400
1712 
1713      remove temporary storage_broker.get_server_for_id()
1714 
1715   src/allmydata/storage_client.py  |    3 ---
1716   src/allmydata/test/no_network.py |   13 -------------
1717   2 files changed, 0 insertions(+), 16 deletions(-)
1718 
1719  commit 620cc5d80882ef6f7decfd26af8a6c7c1ddf80d1
1720  Author: Brian Warner <warner@lothar.com>
1721  Date:   Tue Oct 4 12:50:06 2011 -0400
1722 
1723      API of Retrieve._try_to_validate_privkey(), trying to remove reader.server
1724 
1725   src/allmydata/mutable/retrieve.py |   10 +++++-----
1726   1 files changed, 5 insertions(+), 5 deletions(-)
1727 
1728  commit 92f43f856f4a8b36c207d1b190ed8699b5a4ecb4
1729  Author: Brian Warner <warner@lothar.com>
1730  Date:   Tue Oct 4 12:48:08 2011 -0400
1731 
1732      API of Retrieve._validate_block(), trying to remove reader.server
1733 
1734   src/allmydata/mutable/retrieve.py |   14 +++++++-------
1735   1 files changed, 7 insertions(+), 7 deletions(-)
1736 
1737  commit 572d5070761861a2190349d1ed8d85dbc25698a5
1738  Author: Brian Warner <warner@lothar.com>
1739  Date:   Tue Oct 4 12:36:58 2011 -0400
1740 
1741      API of Retrieve._mark_bad_share(), trying to remove reader.server
1742 
1743   src/allmydata/mutable/retrieve.py |   21 +++++++++------------
1744   1 files changed, 9 insertions(+), 12 deletions(-)
1745 
1746  commit a793ff00c0de1e2eec7b46288fdf388c7a2bec89
1747  Author: Brian Warner <warner@lothar.com>
1748  Date:   Tue Oct 4 12:06:13 2011 -0400
1749 
1750      remove now-unused get_rref_for_serverid()
1751 
1752   src/allmydata/mutable/servermap.py |    3 ---
1753   1 files changed, 0 insertions(+), 3 deletions(-)
1754 
1755  commit 1b9827cc9366bf90b93297fdd6832f2ad0480ce7
1756  Author: Brian Warner <warner@lothar.com>
1757  Date:   Tue Oct 4 12:03:09 2011 -0400
1758 
1759      Retrieve: stop adding .serverid attributes to readers
1760 
1761   src/allmydata/mutable/retrieve.py |    1 -
1762   1 files changed, 0 insertions(+), 1 deletions(-)
1763 
1764  commit 5d4e9d491b19e49d2e443a1dfff2c672842c36ef
1765  Author: Brian Warner <warner@lothar.com>
1766  Date:   Tue Oct 4 12:03:34 2011 -0400
1767 
1768      return value of Retrieve(verify=True)
1769 
1770   src/allmydata/mutable/checker.py  |   11 ++++++-----
1771   src/allmydata/mutable/retrieve.py |    3 +--
1772   2 files changed, 7 insertions(+), 7 deletions(-)
1773 
1774  commit e9ab7978c384e1f677cb7779dc449b1044face82
1775  Author: Brian Warner <warner@lothar.com>
1776  Date:   Tue Oct 4 11:54:23 2011 -0400
1777 
1778      Retrieve._bad_shares (but not return value, used by Verifier)
1779 
1780   src/allmydata/mutable/retrieve.py |    7 ++++---
1781   1 files changed, 4 insertions(+), 3 deletions(-)
1782 
1783  commit 2d91926de233ec5c881f30e36b4a30ad92ab42a9
1784  Author: Brian Warner <warner@lothar.com>
1785  Date:   Tue Oct 4 11:51:23 2011 -0400
1786 
1787      Publish: stop adding .serverid attributes to writers
1788 
1789   src/allmydata/mutable/publish.py |    9 ++-------
1790   1 files changed, 2 insertions(+), 7 deletions(-)
1791 
1792  commit 47c7a0105dec7cbf4f7e0a3ce800bbb85b15df4a
1793  Author: Brian Warner <warner@lothar.com>
1794  Date:   Tue Oct 4 11:56:33 2011 -0400
1795 
1796      API of get_write_enabler()
1797 
1798   src/allmydata/mutable/filenode.py |    7 ++++---
1799   src/allmydata/mutable/publish.py  |    4 ++--
1800   src/allmydata/test/no_network.py  |    3 +++
1801   3 files changed, 9 insertions(+), 5 deletions(-)
1802 
1803  commit 9196a5c6590fdbfd660325ea8358b345887d3db0
1804  Author: Brian Warner <warner@lothar.com>
1805  Date:   Tue Oct 4 11:46:24 2011 -0400
1806 
1807      API of get_(renewal|cancel)_secret()
1808 
1809   src/allmydata/mutable/filenode.py  |   14 ++++++++------
1810   src/allmydata/mutable/publish.py   |    8 ++++----
1811   src/allmydata/mutable/servermap.py |    5 ++---
1812   3 files changed, 14 insertions(+), 13 deletions(-)
1813 
1814  commit de7c1552f8c163eff5b6d820b5fb3b21c1b47cb5
1815  Author: Brian Warner <warner@lothar.com>
1816  Date:   Tue Oct 4 11:41:52 2011 -0400
1817 
1818      API of CorruptShareError. Also comment out some related+unused test_web.py code
1819 
1820   src/allmydata/mutable/common.py    |   13 +++++--------
1821   src/allmydata/mutable/retrieve.py  |   10 +++++-----
1822   src/allmydata/mutable/servermap.py |    8 +++-----
1823   src/allmydata/test/common.py       |   13 ++++++++-----
1824   4 files changed, 21 insertions(+), 23 deletions(-)
1825 
1826  commit 2c1c314046b620c16f1e66d030c150d768b7d01e
1827  Author: Brian Warner <warner@lothar.com>
1828  Date:   Tue Oct 4 12:01:46 2011 -0400
1829 
1830      API of ServerMap.mark_bad_share()
1831 
1832   src/allmydata/mutable/publish.py   |    2 +-
1833   src/allmydata/mutable/retrieve.py  |    6 +++---
1834   src/allmydata/mutable/servermap.py |    6 ++----
1835   src/allmydata/test/test_mutable.py |    3 +--
1836   4 files changed, 7 insertions(+), 10 deletions(-)
1837 
1838  commit 1bed349030779fd0c378ae4e821384f953c6f6ff
1839  Author: Brian Warner <warner@lothar.com>
1840  Date:   Tue Oct 4 11:11:17 2011 -0400
1841 
1842      API+name of ServerMap.shares_on_server() : only for tests, so debug_ prefix
1843 
1844   src/allmydata/mutable/servermap.py |    7 ++-----
1845   src/allmydata/test/test_mutable.py |    6 +++---
1846   2 files changed, 5 insertions(+), 8 deletions(-)
1847 
1848  commit 2d32e448677d6b818692e801045d4115b29abf21
1849  Author: Brian Warner <warner@lothar.com>
1850  Date:   Tue Oct 4 11:07:10 2011 -0400
1851 
1852      API of ServerMap.all_servers_for_version()
1853 
1854   src/allmydata/mutable/servermap.py |    4 ++--
1855   1 files changed, 2 insertions(+), 2 deletions(-)
1856 
1857  commit 48f3204d1889c3e7179578125c4bdef515af3d6a
1858  Author: Brian Warner <warner@lothar.com>
1859  Date:   Tue Oct 4 11:04:50 2011 -0400
1860 
1861      internals of ServerMap methods that use make_versionmap(), remove temp copy
1862 
1863   src/allmydata/mutable/servermap.py |   28 +++++++++----------------
1864   1 files changed, 10 insertions(+), 18 deletions(-)
1865 
1866  commit 5c3da77b6c777a145bd5ddfaa4db849dc9495548
1867  Author: Brian Warner <warner@lothar.com>
1868  Date:   Tue Oct 4 11:01:28 2011 -0400
1869 
1870      API of ServerMap.make_versionmap()
1871 
1872   src/allmydata/mutable/checker.py   |    4 ++--
1873   src/allmydata/mutable/retrieve.py  |    5 ++---
1874   src/allmydata/mutable/servermap.py |    4 ++--
1875   src/allmydata/test/test_mutable.py |    7 ++++---
1876   4 files changed, 10 insertions(+), 10 deletions(-)
1877 
1878  commit b6882ece49afb4c507d118af2db346fa329209dc
1879  Author: Brian Warner <warner@lothar.com>
1880  Date:   Tue Oct 4 10:53:38 2011 -0400
1881 
1882      make a copy of ServerMap.make_versionmap() (_make_versionmap2) for internal use
1883 
1884   src/allmydata/mutable/servermap.py |   18 +++++++++++++-----
1885   1 files changed, 13 insertions(+), 5 deletions(-)
1886 
1887  commit 963f8e63faf32b950eb1b8103cd2ff16fe8f0151
1888  Author: Brian Warner <warner@lothar.com>
1889  Date:   Tue Oct 4 00:45:58 2011 -0400
1890 
1891      API of RetrieveStatus.add_problem()
1892 
1893   src/allmydata/mutable/retrieve.py |    5 +++--
1894   1 files changed, 3 insertions(+), 2 deletions(-)
1895 
1896  commit 4976d29ffae565a048851601c29013bbae2976d8
1897  Author: Brian Warner <warner@lothar.com>
1898  Date:   Tue Oct 4 00:45:05 2011 -0400
1899 
1900      API of RetrieveStatus.add_fetch_timing()
1901 
1902   src/allmydata/mutable/retrieve.py |    5 +++--
1903   1 files changed, 3 insertions(+), 2 deletions(-)
1904 
1905  commit d057d3bbba72663ee148a8b916bc2d52be2e3982
1906  Author: Brian Warner <warner@lothar.com>
1907  Date:   Tue Oct 4 00:44:04 2011 -0400
1908 
1909      API of Retrieve.notify_server_corruption()
1910 
1911   src/allmydata/mutable/retrieve.py |    6 +++---
1912   1 files changed, 3 insertions(+), 3 deletions(-)
1913 
1914  commit 8a2a81e46671c860610e0e96d6add1a57551f22d
1915  Author: Brian Warner <warner@lothar.com>
1916  Date:   Tue Oct 4 00:42:32 2011 -0400
1917 
1918      remove unused _outstanding_queries
1919 
1920   src/allmydata/mutable/retrieve.py |    1 -
1921   1 files changed, 0 insertions(+), 1 deletions(-)
1922 
1923  commit 56d12cc9968d03ccd53764455c671122c4f391d1
1924  Author: Brian Warner <warner@lothar.com>
1925  Date:   Tue Oct 4 00:40:57 2011 -0400
1926 
1927      change Retrieve.remaining_sharemap
1928 
1929   src/allmydata/mutable/retrieve.py |    4 ++--
1930   1 files changed, 2 insertions(+), 2 deletions(-)
1931 
1932  commit 4f0b7af4821f43290bfc70f2b1fc30149ad81281
1933  Author: Brian Warner <warner@lothar.com>
1934  Date:   Tue Oct 4 10:40:18 2011 -0400
1935 
1936      accessor for PublishStatus._problems
1937 
1938   src/allmydata/mutable/publish.py |    4 +++-
1939   src/allmydata/web/status.py      |    2 +-
1940   2 files changed, 4 insertions(+), 2 deletions(-)
1941 
1942  commit 627087cf66d0b8cc519f4d551a967a7bd9b6a741
1943  Author: Brian Warner <warner@lothar.com>
1944  Date:   Tue Oct 4 10:36:39 2011 -0400
1945 
1946      accessor for RetrieveStatus._problems
1947 
1948   src/allmydata/mutable/retrieve.py |    8 ++++++--
1949   src/allmydata/web/status.py       |    2 +-
1950   2 files changed, 7 insertions(+), 3 deletions(-)
1951 
1952  commit ca7dea81f03801b1c7353fc00ecba689268109cf
1953  Author: Brian Warner <warner@lothar.com>
1954  Date:   Tue Oct 4 00:35:32 2011 -0400
1955 
1956      add .server to "reader", so we can get at it later
1957 
1958   src/allmydata/mutable/retrieve.py |    5 +++--
1959   1 files changed, 3 insertions(+), 2 deletions(-)
1960 
1961  commit 6ef516e24908ec195af084a7550d1921a5e983b0
1962  Author: Brian Warner <warner@lothar.com>
1963  Date:   Tue Oct 4 00:32:32 2011 -0400
1964 
1965      temporarily give Retrieve a _storage_broker, so it can map serverids to servers
1966 
1967   src/allmydata/mutable/checker.py   |    3 ++-
1968   src/allmydata/mutable/filenode.py  |    6 ++++--
1969   src/allmydata/mutable/retrieve.py  |    5 +++--
1970   src/allmydata/test/test_mutable.py |    4 ++--
1971   4 files changed, 11 insertions(+), 7 deletions(-)
1972 
1973  commit afe08e4dd3f4ff9ff7e8a2a8d28b181e3625bcc9
1974  Author: Brian Warner <warner@lothar.com>
1975  Date:   Tue Oct 4 00:21:51 2011 -0400
1976 
1977      mutable/retrieve.py: s/peer/server/
1978 
1979   src/allmydata/mutable/retrieve.py  |   82 +++++++++++++-------------
1980   src/allmydata/test/test_mutable.py |    6 +-
1981   2 files changed, 44 insertions(+), 44 deletions(-)
1982 
1983  commit 910afcb5d7f274880f68dd6cdb5b05f2bbc29adc
1984  Author: Brian Warner <warner@lothar.com>
1985  Date:   Tue Oct 4 00:16:01 2011 -0400
1986 
1987      web.status.PublishStatusPage: add comment, I think .problems isn't exercised
1988 
1989   src/allmydata/web/status.py |    2 ++
1990   1 files changed, 2 insertions(+), 0 deletions(-)
1991 
1992  commit 311466dd8c931bbba40d590ade867704282e7f1a
1993  Author: Brian Warner <warner@lothar.com>
1994  Date:   Mon Oct 3 23:48:16 2011 -0400
1995 
1996      API of PublishStatus.add_per_server_time()
1997 
1998   src/allmydata/mutable/publish.py |    5 +++--
1999   1 files changed, 3 insertions(+), 2 deletions(-)
2000 
2001  commit 2df5faa1b6cbfbaded520d2320305a62fe961118
2002  Author: Brian Warner <warner@lothar.com>
2003  Date:   Mon Oct 3 23:46:37 2011 -0400
2004 
2005      more simplifications
2006 
2007   src/allmydata/mutable/publish.py |    4 +---
2008   1 files changed, 1 insertions(+), 3 deletions(-)
2009 
2010  commit 6ac4544a3da385f2aad9392f906b90192f4f919a
2011  Author: Brian Warner <warner@lothar.com>
2012  Date:   Mon Oct 3 23:44:08 2011 -0400
2013 
2014      API of ServerMap.version_on_server()
2015 
2016   src/allmydata/mutable/publish.py   |    2 +-
2017   src/allmydata/mutable/servermap.py |    4 ++--
2018   src/allmydata/test/test_mutable.py |    5 ++---
2019   3 files changed, 5 insertions(+), 6 deletions(-)
2020 
2021  commit 3e187e322511072e4683329df6b2c6c733a66dba
2022  Author: Brian Warner <warner@lothar.com>
2023  Date:   Tue Oct 4 00:16:32 2011 -0400
2024 
2025      API of ServerMap.make_sharemap()
2026 
2027   src/allmydata/mutable/servermap.py |    4 ++--
2028   src/allmydata/test/test_mutable.py |    7 ++++---
2029   src/allmydata/web/status.py        |    4 ++--
2030   3 files changed, 8 insertions(+), 7 deletions(-)
2031 
2032  commit 318feed8437bdd8d4943c6569d38f7b54b6313cc
2033  Author: Brian Warner <warner@lothar.com>
2034  Date:   Mon Oct 3 23:36:19 2011 -0400
2035 
2036      small cleanups
2037 
2038   src/allmydata/mutable/publish.py |    4 ++--
2039   1 files changed, 2 insertions(+), 2 deletions(-)
2040 
2041  commit bd459ed5714e1db5a7163935c54b7b0b56db8349
2042  Author: Brian Warner <warner@lothar.com>
2043  Date:   Mon Oct 3 23:33:39 2011 -0400
2044 
2045      API of ServerMap.add_new_share()
2046 
2047   src/allmydata/mutable/publish.py   |    4 ++--
2048   src/allmydata/mutable/servermap.py |    6 ++----
2049   2 files changed, 4 insertions(+), 6 deletions(-)
2050 
2051  commit f2804fb6ed11d80088e0da8ed48e6c2922f2ffef
2052  Author: Brian Warner <warner@lothar.com>
2053  Date:   Mon Oct 3 23:30:26 2011 -0400
2054 
2055      API of ServerMap.get_bad_shares()
2056 
2057   src/allmydata/mutable/publish.py   |    3 +--
2058   src/allmydata/mutable/servermap.py |    9 ++++-----
2059   2 files changed, 5 insertions(+), 7 deletions(-)
2060 
2061  commit 965074a47b3ce1431cb46d9a233840afcf9105f5
2062  Author: Brian Warner <warner@lothar.com>
2063  Date:   Mon Oct 3 23:26:58 2011 -0400
2064 
2065      more small cleanups
2066 
2067   src/allmydata/mutable/publish.py |    6 +++---
2068   1 files changed, 3 insertions(+), 3 deletions(-)
2069 
2070  commit 38020da34f034f8889947dd3dc05e087ffff7106
2071  Author: Brian Warner <warner@lothar.com>
2072  Date:   Mon Oct 3 23:18:47 2011 -0400
2073 
2074      change Publish.bad_share_checkstrings
2075 
2076   src/allmydata/mutable/publish.py |    6 +++---
2077   1 files changed, 3 insertions(+), 3 deletions(-)
2078 
2079  commit 5efebcbd2ee0c2f299ea86f7591d856c0f265304
2080  Author: Brian Warner <warner@lothar.com>
2081  Date:   Mon Oct 3 23:16:31 2011 -0400
2082 
2083      change internals of Publish.update_goal()
2084 
2085   src/allmydata/mutable/publish.py |    8 +++-----
2086   1 files changed, 3 insertions(+), 5 deletions(-)
2087 
2088  commit e91b55ff4c2a69165b71f2c7b217ac319ff4c527
2089  Author: Brian Warner <warner@lothar.com>
2090  Date:   Mon Oct 3 23:11:42 2011 -0400
2091 
2092      get rid of Publish.connections
2093 
2094   src/allmydata/mutable/publish.py |   27 +++++----------------------
2095   1 files changed, 5 insertions(+), 22 deletions(-)
2096 
2097  commit 64e9a53b3229ebe2f9ebf7ed502d539311d0e037
2098  Author: Brian Warner <warner@lothar.com>
2099  Date:   Mon Oct 3 23:05:32 2011 -0400
2100 
2101      change Publish.bad_servers
2102 
2103   src/allmydata/mutable/publish.py |   10 +++++-----
2104   1 files changed, 5 insertions(+), 5 deletions(-)
2105 
2106  commit b85a934bef315a06bcfe00c9c12a3627fed2b918
2107  Author: Brian Warner <warner@lothar.com>
2108  Date:   Mon Oct 3 23:03:07 2011 -0400
2109 
2110      Publish.bad_servers: fix bug, this should be a set of serverids, not writers
2111 
2112   src/allmydata/mutable/publish.py |    2 +-
2113   1 files changed, 1 insertions(+), 1 deletions(-)
2114 
2115  commit 605ea15ec15ed671513819003ccd211cdb9761e0
2116  Author: Brian Warner <warner@lothar.com>
2117  Date:   Mon Oct 3 23:00:21 2011 -0400
2118 
2119      change .placed
2120 
2121   src/allmydata/mutable/publish.py |    6 +++---
2122   1 files changed, 3 insertions(+), 3 deletions(-)
2123 
2124  commit f7aba37b1b345d5b6d5cb16e3b3f6f3c1afb658e
2125  Author: Brian Warner <warner@lothar.com>
2126  Date:   Mon Oct 3 22:59:22 2011 -0400
2127 
2128      temporarily stash IServer as .server on the "writer" object
2129 
2130   src/allmydata/mutable/publish.py |    2 ++
2131   1 files changed, 2 insertions(+), 0 deletions(-)
2132 
2133  commit f9b551d788e7db1f187fce5ab98ab5d5fe4e1c36
2134  Author: Brian Warner <warner@lothar.com>
2135  Date:   Mon Oct 3 22:48:18 2011 -0400
2136 
2137      change Publish.goal and API of log_goal() to use IServer, not serverid
2138 
2139   src/allmydata/mutable/publish.py |   48 ++++++++++++++--------------
2140   1 files changed, 24 insertions(+), 24 deletions(-)
2141 
2142  commit 75f20616558e4900b8b1f685dd99aa838de6d452
2143  Author: Brian Warner <warner@lothar.com>
2144  Date:   Mon Oct 3 15:27:02 2011 -0400
2145 
2146      API of ServerMap.get_known_shares()
2147 
2148   src/allmydata/mutable/publish.py   |   16 ++++++++++------
2149   src/allmydata/mutable/servermap.py |    7 ++-----
2150   2 files changed, 12 insertions(+), 11 deletions(-)
2151 
2152  commit 1c38c9d37bb08221b4418762234b1a62397b3b4b
2153  Author: Brian Warner <warner@lothar.com>
2154  Date:   Mon Oct 3 15:20:29 2011 -0400
2155 
2156      Publish.full_serverlist
2157 
2158   src/allmydata/mutable/publish.py |   10 +++++-----
2159   1 files changed, 5 insertions(+), 5 deletions(-)
2160 
2161  commit b6cbd215a04b9cde31a7d92a97a7f048622b16f1
2162  Author: Brian Warner <warner@lothar.com>
2163  Date:   Mon Oct 3 15:12:31 2011 -0400
2164 
2165      API of ServerMap.all_servers()
2166 
2167   src/allmydata/mutable/servermap.py |   19 ++++++-------------
2168   1 files changed, 6 insertions(+), 13 deletions(-)
2169 
2170  commit e63cd0315fae65357b1727ec6d5ff3c6e0d27c98
2171  Author: Brian Warner <warner@lothar.com>
2172  Date:   Mon Oct 3 15:10:18 2011 -0400
2173 
2174      remove ServerMap.connections, set_rref_for_serverid()
2175 
2176   src/allmydata/mutable/servermap.py |   11 +----------
2177   1 files changed, 1 insertions(+), 10 deletions(-)
2178 
2179  commit 4df52db2f80eb12eefa5d57103c24893cde89553
2180  Author: Brian Warner <warner@lothar.com>
2181  Date:   Mon Oct 3 15:04:06 2011 -0400
2182 
2183      API of ServerMap.mark_server_reachable()
2184 
2185   src/allmydata/mutable/servermap.py |    7 ++-----
2186   1 files changed, 2 insertions(+), 5 deletions(-)
2187 
2188  commit 69c715bde77944dc25181b3dbbeb042c816f9a1b
2189  Author: Brian Warner <warner@lothar.com>
2190  Date:   Mon Oct 3 15:03:21 2011 -0400
2191 
2192      API of ServerMap.mark_server_unreachable()
2193 
2194   src/allmydata/mutable/servermap.py |    9 +++------
2195   1 files changed, 3 insertions(+), 6 deletions(-)
2196 
2197  commit 3d784d60eec1c508858e3a617e4411ffbcc3c1fa
2198  Author: Brian Warner <warner@lothar.com>
2199  Date:   Mon Oct 3 15:02:03 2011 -0400
2200 
2201      API of status.set_privkey_from()
2202 
2203   src/allmydata/mutable/servermap.py |    7 +++----
2204   1 files changed, 3 insertions(+), 4 deletions(-)
2205 
2206  commit 544ed3ea29bed7e66da7fd29ca3f6f076f27a9e6
2207  Author: Brian Warner <warner@lothar.com>
2208  Date:   Mon Oct 3 15:01:15 2011 -0400
2209 
2210      API of status.add_per_server_time()
2211 
2212   src/allmydata/mutable/servermap.py |    7 ++++---
2213   1 files changed, 4 insertions(+), 3 deletions(-)
2214 
2215  commit fffe5008b6320bd1e04c3c68389a2bf2ee383fa8
2216  Author: Brian Warner <warner@lothar.com>
2217  Date:   Mon Oct 3 14:59:02 2011 -0400
2218 
2219      remove unused .versionmap
2220 
2221   src/allmydata/mutable/servermap.py |    7 -------
2222   1 files changed, 0 insertions(+), 7 deletions(-)
2223 
2224  commit 2816562e090d2294179db3588dafcca18de1bc2b
2225  Author: Brian Warner <warner@lothar.com>
2226  Date:   Mon Oct 3 14:57:51 2011 -0400
2227 
2228      remove serverid from all log messages. Also one unused lambda.
2229 
2230   src/allmydata/mutable/servermap.py |   30 +++++++++++++-------------
2231   1 files changed, 15 insertions(+), 15 deletions(-)
2232 
2233  commit 28fa6b1a2738fa98c1f1dbd3d0e01ae98912d11f
2234  Author: Brian Warner <warner@lothar.com>
2235  Date:   Mon Oct 3 14:54:30 2011 -0400
2236 
2237      removed unused _readers
2238 
2239   src/allmydata/mutable/servermap.py |    3 ---
2240   1 files changed, 0 insertions(+), 3 deletions(-)
2241 
2242  commit a8e4ed3d645ab592d1add6a1e69b6d1ebfb77817
2243  Author: Brian Warner <warner@lothar.com>
2244  Date:   Mon Oct 3 14:54:16 2011 -0400
2245 
2246      remove unused _sharemap
2247 
2248   src/allmydata/mutable/servermap.py |    1 -
2249   1 files changed, 0 insertions(+), 1 deletions(-)
2250 
2251  commit 3f072e55cf1d0700f9fffe23f8f3a475725df588
2252  Author: Brian Warner <warner@lothar.com>
2253  Date:   Mon Oct 3 14:49:03 2011 -0400
2254 
2255      _must_query
2256 
2257   src/allmydata/mutable/servermap.py |    8 ++++----
2258   1 files changed, 4 insertions(+), 4 deletions(-)
2259 
2260  commit c599a059b8df3f5785e4bf89fb6ecc6d8dcd708b
2261  Author: Brian Warner <warner@lothar.com>
2262  Date:   Mon Oct 3 14:48:05 2011 -0400
2263 
2264      _queries_outstanding
2265 
2266   src/allmydata/mutable/servermap.py |   16 +++++++---------
2267   1 files changed, 7 insertions(+), 9 deletions(-)
2268 
2269  commit 7743759f98ac2c07926b2fdbd80bf52dfab33085
2270  Author: Brian Warner <warner@lothar.com>
2271  Date:   Mon Oct 3 14:46:17 2011 -0400
2272 
2273      _empty_servers
2274 
2275   src/allmydata/mutable/servermap.py |    5 ++---
2276   1 files changed, 2 insertions(+), 3 deletions(-)
2277 
2278  commit 6bb1825916828a713a32cdf7f7411fa3ea2e1e5d
2279  Author: Brian Warner <warner@lothar.com>
2280  Date:   Mon Oct 3 14:45:39 2011 -0400
2281 
2282      _good_servers
2283 
2284   src/allmydata/mutable/servermap.py |    4 ++--
2285   1 files changed, 2 insertions(+), 2 deletions(-)
2286 
2287  commit 1768fab1b51d8dd93ecabbaaabfadfa20cf6c3d4
2288  Author: Brian Warner <warner@lothar.com>
2289  Date:   Mon Oct 3 14:44:59 2011 -0400
2290 
2291      _bad_servers
2292 
2293   src/allmydata/mutable/servermap.py |   14 +++++++-------
2294   1 files changed, 7 insertions(+), 7 deletions(-)
2295 
2296  commit dccbaef30f0ba714c746bf6d4a1a803c36e17b65
2297  Author: Brian Warner <warner@lothar.com>
2298  Date:   Mon Oct 3 14:41:54 2011 -0400
2299 
2300      API of _try_to_set_pubkey()
2301 
2302   src/allmydata/mutable/servermap.py |    7 ++++---
2303   1 files changed, 4 insertions(+), 3 deletions(-)
2304 
2305  commit 0481ea70042ba3575f15eac7fd0780f8ece580cc
2306  Author: Brian Warner <warner@lothar.com>
2307  Date:   Mon Oct 3 14:35:02 2011 -0400
2308 
2309      API of notify_server_corruption()
2310 
2311   src/allmydata/mutable/servermap.py |    6 +++---
2312   1 files changed, 3 insertions(+), 3 deletions(-)
2313 
2314  commit bea9cba18fb3b9c11bb22f18356a263ecec7351e
2315  Author: Brian Warner <warner@lothar.com>
2316  Date:   Mon Oct 3 14:34:09 2011 -0400
2317 
2318      API of _got_signature_one_share()
2319 
2320   src/allmydata/mutable/servermap.py |    9 +++++----
2321   1 files changed, 5 insertions(+), 4 deletions(-)
2322 
2323  commit 1520123583cf78650706e114b15bb5b0ac1f4a14
2324  Author: Brian Warner <warner@lothar.com>
2325  Date:   Mon Oct 3 14:32:33 2011 -0400
2326 
2327      API of _try_to_validate_privkey()
2328 
2329   src/allmydata/mutable/servermap.py |    9 +++++----
2330   1 files changed, 5 insertions(+), 4 deletions(-)
2331 
2332  commit 938852c9c8519c7a078f58a9b1f4dd8ec8b6715e
2333  Author: Brian Warner <warner@lothar.com>
2334  Date:   Mon Oct 3 14:31:48 2011 -0400
2335 
2336      API and internals of _add_lease_failed()
2337 
2338   src/allmydata/mutable/servermap.py |    8 ++++----
2339   1 files changed, 4 insertions(+), 4 deletions(-)
2340 
2341  commit 3843dba367e3c19e176a622ab853cb51d2472ddf
2342  Author: Brian Warner <warner@lothar.com>
2343  Date:   Mon Oct 3 14:30:37 2011 -0400
2344 
2345      API of _privkey_query_failed()
2346 
2347   src/allmydata/mutable/servermap.py |    5 +++--
2348   1 files changed, 3 insertions(+), 2 deletions(-)
2349 
2350  commit 2219a710e1633cd57d0ca0786490de87b3e19ba7
2351  Author: Brian Warner <warner@lothar.com>
2352  Date:   Mon Oct 3 14:29:43 2011 -0400
2353 
2354      fix bug in call to _privkey_query_failed, unrelated to refactoring
2355 
2356   src/allmydata/mutable/servermap.py |    2 +-
2357   1 files changed, 1 insertions(+), 1 deletions(-)
2358 
2359  commit ae615bec7d0d1b269710b6902797b12f9592ad62
2360  Author: Brian Warner <warner@lothar.com>
2361  Date:   Mon Oct 3 14:27:17 2011 -0400
2362 
2363      API of _got_corrupt_share()
2364 
2365   src/allmydata/mutable/servermap.py |   17 +++++++++--------
2366   1 files changed, 9 insertions(+), 8 deletions(-)
2367 
2368  commit cb51c95a6f4e077278157a77dab060c8c1ad7a81
2369  Author: Brian Warner <warner@lothar.com>
2370  Date:   Mon Oct 3 14:23:16 2011 -0400
2371 
2372      API of _got_results()
2373 
2374   src/allmydata/mutable/servermap.py |    9 +++++----
2375   1 files changed, 5 insertions(+), 4 deletions(-)
2376 
2377  commit bac9154fe0af18f226999a58ffc2362d8cf4b802
2378  Author: Brian Warner <warner@lothar.com>
2379  Date:   Mon Oct 3 14:19:19 2011 -0400
2380 
2381      API of _query_failed()
2382 
2383   src/allmydata/mutable/servermap.py |    5 +++--
2384   1 files changed, 3 insertions(+), 2 deletions(-)
2385 
2386  commit fdc29a8ca95d4b5c503e5382b9e5d4d02141ba12
2387  Author: Brian Warner <warner@lothar.com>
2388  Date:   Mon Oct 3 14:17:20 2011 -0400
2389 
2390      API of _do_read()
2391 
2392   src/allmydata/mutable/servermap.py |    6 ++++--
2393   1 files changed, 4 insertions(+), 2 deletions(-)
2394 
2395  commit e7e9e338f28d004aa4d423d11c65f1e271ac7322
2396  Author: Brian Warner <warner@lothar.com>
2397  Date:   Mon Oct 3 14:20:21 2011 -0400
2398 
2399      API of _do_query()
2400 
2401   src/allmydata/mutable/servermap.py |   15 +++++++--------
2402   1 files changed, 7 insertions(+), 8 deletions(-)
2403 
2404  commit 330625b9dac4cdbe72a11464a893065b9aeed453
2405  Author: Brian Warner <warner@lothar.com>
2406  Date:   Mon Oct 3 14:43:05 2011 -0400
2407 
2408      next step: first batch of updates to ServermapUpdater
2409 
2410      updates:
2411       most method-local variables in update()
2412       API of _build_initial_querylist()
2413       API of _send_initial_requests()
2414       .full_serverlist
2415       .extra_servers
2416 
2417   src/allmydata/mutable/servermap.py |   39 ++++++++++++++------------
2418   1 files changed, 21 insertions(+), 18 deletions(-)
2419 
2420  commit 4aadc584fa7dcb2daa86b048c81dee0049ba26d9
2421  Author: Brian Warner <warner@lothar.com>
2422  Date:   Mon Oct 3 15:07:00 2011 -0400
2423 
2424      internal change: index _bad_shares with IServer
2425 
2426   src/allmydata/mutable/servermap.py |   20 ++++++++++----------
2427   1 files changed, 10 insertions(+), 10 deletions(-)
2428 
2429  commit 16d4e6fa82a9907dbdc92094213387c6a4164e41
2430  Author: Brian Warner <warner@lothar.com>
2431  Date:   Mon Oct 3 18:20:47 2011 +0100
2432 
2433      internal change: index _known_shares with IServer instead of serverid
2434 
2435      callers are unchanged
2436 
2437   src/allmydata/mutable/servermap.py |   42 +++++++++++++++----------
2438   1 files changed, 25 insertions(+), 17 deletions(-)
2439 
2440  commit ceeb5f4938cc814a0c75d1b8f4018aed965c2176
2441  Author: Brian Warner <warner@lothar.com>
2442  Date:   Mon Oct 3 18:11:43 2011 +0100
2443 
2444      accessors and name cleanup for servermap.Servermap.last_update_mode/time
2445 
2446   src/allmydata/mutable/filenode.py  |    6 +++---
2447   src/allmydata/mutable/publish.py   |    4 ++--
2448   src/allmydata/mutable/servermap.py |   17 +++++++++++------
2449   3 files changed, 16 insertions(+), 11 deletions(-)
2450 
2451  commit 8d3cbda82661c0a7e5c3d3b65cf7a5d5ab7e32c0
2452  Author: Brian Warner <warner@lothar.com>
2453  Date:   Mon Oct 3 18:11:14 2011 +0100
2454 
2455      accessors and name cleanup for servermap.Servermap.problems
2456 
2457   src/allmydata/mutable/servermap.py |   21 +++++++++++++--------
2458   src/allmydata/test/test_mutable.py |    6 +++---
2459   2 files changed, 16 insertions(+), 11 deletions(-)
2460 
2461  commit 348f57988f79389db0aab7672e6eaa9a6d8e3219
2462  Author: Brian Warner <warner@lothar.com>
2463  Date:   Mon Oct 3 18:10:41 2011 +0100
2464 
2465      accessors and name cleanup for servermap.Servermap.bad_shares
2466 
2467   src/allmydata/mutable/publish.py   |    2 +-
2468   src/allmydata/mutable/servermap.py |   30 ++++++++++++++-----------
2469   2 files changed, 18 insertions(+), 14 deletions(-)
2470 
2471  commit 520c9368134673cdf76c653c5e1bb91c2ab5d51e
2472  Author: Brian Warner <warner@lothar.com>
2473  Date:   Mon Oct 3 18:10:05 2011 +0100
2474 
2475      accessors and name cleanup for servermap.Servermap.servermap .
2476 
2477   src/allmydata/mutable/publish.py   |   14 +++++----
2478   src/allmydata/mutable/servermap.py |   38 ++++++++++++++-----------
2479   2 files changed, 29 insertions(+), 23 deletions(-)
2480 
2481  commit b8b8dc38287a91dbdf494426ac801d9381ce5841
2482  Author: Brian Warner <warner@lothar.com>
2483  Date:   Mon Oct 3 18:08:02 2011 +0100
2484 
2485      fix reachable_servers
2486 
2487   src/allmydata/mutable/checker.py   |    3 ++-
2488   src/allmydata/mutable/publish.py   |    4 +++-
2489   src/allmydata/mutable/servermap.py |   12 ++++++++++--
2490   3 files changed, 15 insertions(+), 4 deletions(-)
2491 
2492  commit cb0cfd1adfefad357c187aaaf690c3df68b622bc
2493  Author: Brian Warner <warner@lothar.com>
2494  Date:   Mon Oct 3 18:06:03 2011 +0100
2495 
2496      fix Servermap.unreachable_servers
2497 
2498   src/allmydata/mutable/servermap.py |   11 ++++++++---
2499   1 files changed, 8 insertions(+), 3 deletions(-)
2500 
2501  commit 2d9ea79b94bd4db674d40386fda90825785ac495
2502  Author: Brian Warner <warner@lothar.com>
2503  Date:   Mon Oct 3 18:03:48 2011 +0100
2504 
2505      give ServerMap a StorageFarmBroker, temporary
2506 
2507      this makes it possible for the ServerMap to accept bare serverids and still
2508      build data structures with IServers
2509 
2510   src/allmydata/mutable/checker.py   |    2 +-
2511   src/allmydata/mutable/filenode.py  |    2 +-
2512   src/allmydata/mutable/publish.py   |    2 +-
2513   src/allmydata/mutable/servermap.py |    5 +++--
2514   src/allmydata/test/test_mutable.py |    8 ++++----
2515   5 files changed, 10 insertions(+), 9 deletions(-)
2516 
2517  commit 718d1aeff6fded893f65397806d22ece928b0dd4
2518  Author: Brian Warner <warner@lothar.com>
2519  Date:   Mon Oct 3 13:43:30 2011 -0400
2520 
2521      add StorageFarmBroker.get_server_for_id(), temporary helper
2522 
2523      This will go away once we're passing IServers everywhere.
2524 
2525   src/allmydata/storage_client.py  |    2 ++
2526   src/allmydata/test/no_network.py |   13 +++++++++++++
2527   2 files changed, 15 insertions(+), 0 deletions(-)
2528 
2529  commit ece20231d7fda0d503704842a4aa068dfbc2e54e
2530  Author: Brian Warner <warner@lothar.com>
2531  Date:   Sun Oct 2 01:11:50 2011 +0100
2532 
2533      add proper accessors for Servermap.connections, to make refactoring easier
2534 
2535   src/allmydata/mutable/publish.py   |    6 +++---
2536   src/allmydata/mutable/retrieve.py  |   10 +++++-----
2537   src/allmydata/mutable/servermap.py |   17 +++++++++++------
2538   3 files changed, 19 insertions(+), 14 deletions(-)
2539 
2540  commit 3b943d6bf302ff702668081a612fc4fe2604cf9c
2541  Author: Brian Warner <warner@lothar.com>
2542  Date:   Fri Sep 23 10:34:30 2011 -0700
2543 
2544      mutable/servermap.py and neighbors: s/peer/server/
2545 
2546   src/allmydata/mutable/checker.py   |   22 +-
2547   src/allmydata/mutable/publish.py   |  204 +++++++-------
2548   src/allmydata/mutable/servermap.py |  402 +++++++++++++-------------
2549   src/allmydata/test/test_mutable.py |   18 +-
2550   4 files changed, 323 insertions(+), 323 deletions(-)
2551]
2552[TAG allmydata-tahoe-1.9.0
2553warner@lothar.com**20111031052301
2554 Ignore-this: cf598210dd1f314a1a121bf29a3d5918
2555]
2556Patch bundle hash:
25573faa3ebe7b5861ee0a43cfb35357a25fb97b3bf6