s3_cmd_bin 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +3 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +28 -0
  5. data/Rakefile +1 -0
  6. data/lib/s3_cmd_bin/version.rb +3 -0
  7. data/lib/s3_cmd_bin.rb +15 -0
  8. data/resources/ChangeLog +1462 -0
  9. data/resources/INSTALL +97 -0
  10. data/resources/LICENSE +339 -0
  11. data/resources/MANIFEST.in +2 -0
  12. data/resources/Makefile +4 -0
  13. data/resources/NEWS +234 -0
  14. data/resources/README +342 -0
  15. data/resources/S3/ACL.py +224 -0
  16. data/resources/S3/ACL.pyc +0 -0
  17. data/resources/S3/AccessLog.py +92 -0
  18. data/resources/S3/AccessLog.pyc +0 -0
  19. data/resources/S3/BidirMap.py +42 -0
  20. data/resources/S3/BidirMap.pyc +0 -0
  21. data/resources/S3/CloudFront.py +773 -0
  22. data/resources/S3/CloudFront.pyc +0 -0
  23. data/resources/S3/Config.py +294 -0
  24. data/resources/S3/Config.pyc +0 -0
  25. data/resources/S3/ConnMan.py +71 -0
  26. data/resources/S3/ConnMan.pyc +0 -0
  27. data/resources/S3/Exceptions.py +88 -0
  28. data/resources/S3/Exceptions.pyc +0 -0
  29. data/resources/S3/FileDict.py +53 -0
  30. data/resources/S3/FileDict.pyc +0 -0
  31. data/resources/S3/FileLists.py +517 -0
  32. data/resources/S3/FileLists.pyc +0 -0
  33. data/resources/S3/HashCache.py +53 -0
  34. data/resources/S3/HashCache.pyc +0 -0
  35. data/resources/S3/MultiPart.py +137 -0
  36. data/resources/S3/MultiPart.pyc +0 -0
  37. data/resources/S3/PkgInfo.py +14 -0
  38. data/resources/S3/PkgInfo.pyc +0 -0
  39. data/resources/S3/Progress.py +173 -0
  40. data/resources/S3/Progress.pyc +0 -0
  41. data/resources/S3/S3.py +979 -0
  42. data/resources/S3/S3.pyc +0 -0
  43. data/resources/S3/S3Uri.py +223 -0
  44. data/resources/S3/S3Uri.pyc +0 -0
  45. data/resources/S3/SimpleDB.py +178 -0
  46. data/resources/S3/SortedDict.py +66 -0
  47. data/resources/S3/SortedDict.pyc +0 -0
  48. data/resources/S3/Utils.py +462 -0
  49. data/resources/S3/Utils.pyc +0 -0
  50. data/resources/S3/__init__.py +0 -0
  51. data/resources/S3/__init__.pyc +0 -0
  52. data/resources/TODO +52 -0
  53. data/resources/artwork/AtomicClockRadio.ttf +0 -0
  54. data/resources/artwork/TypeRa.ttf +0 -0
  55. data/resources/artwork/site-top-full-size.xcf +0 -0
  56. data/resources/artwork/site-top-label-download.png +0 -0
  57. data/resources/artwork/site-top-label-s3cmd.png +0 -0
  58. data/resources/artwork/site-top-label-s3sync.png +0 -0
  59. data/resources/artwork/site-top-s3tools-logo.png +0 -0
  60. data/resources/artwork/site-top.jpg +0 -0
  61. data/resources/artwork/site-top.png +0 -0
  62. data/resources/artwork/site-top.xcf +0 -0
  63. data/resources/format-manpage.pl +196 -0
  64. data/resources/magic +63 -0
  65. data/resources/run-tests.py +537 -0
  66. data/resources/s3cmd +2116 -0
  67. data/resources/s3cmd.1 +435 -0
  68. data/resources/s3db +55 -0
  69. data/resources/setup.cfg +2 -0
  70. data/resources/setup.py +80 -0
  71. data/resources/testsuite.tar.gz +0 -0
  72. data/resources/upload-to-sf.sh +7 -0
  73. data/s3_cmd_bin.gemspec +23 -0
  74. metadata +152 -0
@@ -0,0 +1,1462 @@
1
+ 2011-06-06 Michal Ludvig <mludvig@logix.net.nz>
2
+
3
+ ===== Migrated to GIT =====
4
+
5
+ No longer keeping ChangeLog up to date, use git log instead!
6
+
7
+ Two "official" repositories (both the same content):
8
+
9
+ * git://github.com/s3tools/s3cmd.git (primary)
10
+ * git://s3tools.git.sourceforge.net/gitroot/s3tools/s3cmd.git
11
+
12
+ 2011-04-11 Michal Ludvig <mludvig@logix.net.nz>
13
+
14
+ * S3/S3Uri.py: Fixed cf:// uri parsing.
15
+ * S3/CloudFront.py: Don't fail if there are no cfinval
16
+ requests.
17
+
18
+ 2011-04-11 Michal Ludvig <mludvig@logix.net.nz>
19
+
20
+ * S3/PkgInfo.py: Updated to 1.1.0-beta1
21
+ * NEWS: Updated.
22
+ * s3cmd.1: Regenerated.
23
+
24
+ 2011-04-11 Michal Ludvig <mludvig@logix.net.nz>
25
+
26
+ * S3/Config.py: Increase socket_timeout from 10 secs to 5 mins.
27
+
28
+ 2011-04-10 Michal Ludvig <mludvig@logix.net.nz>
29
+
30
+ * s3cmd, S3/CloudFront.py, S3/S3Uri.py: Support for checking
31
+ status of CF Invalidation Requests [cfinvalinfo].
32
+ * s3cmd, S3/CloudFront.py, S3/Config.py: Support for CloudFront
33
+ invalidation using [sync --cf-invalidate] command.
34
+ * S3/Utils.py: getDictFromTree() now recurses into
35
+ sub-trees.
36
+
37
+ 2011-03-30 Michal Ludvig <mludvig@logix.net.nz>
38
+
39
+ * S3/CloudFront.py: Fix warning with Python 2.7
40
+ * S3/CloudFront.py: Cmd._get_dist_name_for_bucket() moved to
41
+ CloudFront class.
42
+
43
+ 2011-01-13 Michal Ludvig <mludvig@logix.net.nz>
44
+
45
+ * s3cmd, S3/FileLists.py: Move file/object listing functions
46
+ to S3/FileLists.py
47
+
48
+ 2011-01-09 Michal Ludvig <mludvig@logix.net.nz>
49
+
50
+ * Released version 1.0.0
51
+ ----------------------
52
+
53
+ * S3/PkgInfo.py: Updated to 1.0.0
54
+ * NEWS: Updated.
55
+
56
+ 2011-01-02 Michal Ludvig <mludvig@logix.net.nz>
57
+
58
+ * s3cmd: Improved r457 (Don't crash when file disappears
59
+ before checking MD5).
60
+ * s3cmd, s3cmd.1, format-manpage.pl: Improved --help text
61
+ and manpage.
62
+ * s3cmd: Removed explicit processing of --follow-symlinks
63
+ (is cought by the default / main loop).
64
+
65
+ 2010-12-24 Michal Ludvig <mludvig@logix.net.nz>
66
+
67
+ * s3cmd: Set 10s socket timeout for read()/write().
68
+ * s3cmd: Added --(no-)check-md5 for [sync].
69
+ * run-tests.py, testsuite.tar.gz: Added testsuite for
70
+ the above.
71
+ * NEWS: Document the above.
72
+ * s3cmd: Don't crash when file disappears before
73
+ checking MD5.
74
+
75
+ 2010-12-09 Michal Ludvig <mludvig@logix.net.nz>
76
+
77
+ * Released version 1.0.0-rc2
78
+ --------------------------
79
+
80
+ * S3/PkgInfo.py: Updated to 1.0.0-rc2
81
+ * NEWS, TODO, s3cmd.1: Updated.
82
+
83
+ 2010-11-13 Michal Ludvig <mludvig@logix.net.nz>
84
+
85
+ * s3cmd: Added support for remote-to-remote sync.
86
+ (Based on patch from Sundar Raman - thanks!)
87
+ * run-tests.py: Testsuite for the above.
88
+
89
+ 2010-11-12 Michal Ludvig <mludvig@logix.net.nz>
90
+
91
+ * s3cmd: Fixed typo in "s3cmd du" error path.
92
+
93
+ 2010-11-12 Michal Ludvig <mludvig@logix.net.nz>
94
+
95
+ * format-manpage.pl: new manpage auto-formatter
96
+ * s3cmd.1: Updated using the above helper script
97
+ * setup.py: Warn if manpage is too old.
98
+
99
+ 2010-10-27 Michal Ludvig <mludvig@logix.net.nz>
100
+
101
+ * run-tests.py, testsuite.tar.gz: Keep the testsuite in
102
+ SVN as a tarball. There's too many "strange" things
103
+ in the directory for it to be kept in SVN.
104
+
105
+ 2010-10-27 Michal Ludvig <mludvig@logix.net.nz>
106
+
107
+ * TODO: Updated.
108
+ * upload-to-sf.sh: Updated for new SF.net system
109
+
110
+ 2010-10-26 Michal Ludvig <mludvig@logix.net.nz>
111
+
112
+ * Released version 1.0.0-rc1
113
+ --------------------------
114
+
115
+ * S3/PkgInfo.py: Updated to 1.0.0-rc1
116
+ * NEWS, TODO: Updated.
117
+
118
+ 2010-10-26 Michal Ludvig <mludvig@logix.net.nz>
119
+
120
+ * s3cmd, S3/CloudFront.py, S3/Config.py: Added support
121
+ for CloudFront DefaultRootObject. Thanks to Luke Andrew.
122
+
123
+ 2010-10-25 Michal Ludvig <mludvig@logix.net.nz>
124
+
125
+ * s3cmd: Improved 'fixbucket' command. Thanks to Srinivasa
126
+ Moorthy.
127
+ * s3cmd: Read config file even if User Profile directory on
128
+ Windows contains non-ascii symbols. Thx Slava Vishnyakov
129
+
130
+ 2010-10-25 Michal Ludvig <mludvig@logix.net.nz>
131
+
132
+ * s3cmd: Don't fail when a local node is a directory
133
+ and we expected a file. (as if for example /etc/passwd
134
+ was a dir)
135
+
136
+ 2010-10-25 Michal Ludvig <mludvig@logix.net.nz>
137
+
138
+ * s3cmd, S3/S3.py: Ignore inaccessible (and missing) files
139
+ on upload.
140
+ * run-tests.py: Extended [sync] test to verify correct
141
+ handling of inaccessible files.
142
+ * testsuite/permission-tests: New testsuite files.
143
+
144
+ 2010-10-24 Michal Ludvig <mludvig@logix.net.nz>
145
+
146
+ * S3/S3.py: "Stringify" all headers. Httplib should do
147
+ it but some Python 2.7 users reported problems that should
148
+ now be fixed.
149
+ * run-tests.py: Fixed test #6
150
+
151
+ 2010-07-25 Aaron Maxwell <amax@resymbol.net>
152
+
153
+ * S3/Config.py, testsuite/etc/, run-tests.py, s3cmd.1, s3cmd:
154
+ Option to follow local symlinks for sync and
155
+ put (--follow-symlinks option), including tests and documentation
156
+ * run-tests.py: --bucket-prefix option, to allow different
157
+ developers to run tests in their own sandbox
158
+
159
+ 2010-07-08 Michal Ludvig <mludvig@logix.net.nz>
160
+
161
+ * run-tests.py, testsuite/crappy-file-name.tar.gz:
162
+ Updated testsuite, work around a problem with [s3cmd cp]
163
+ when the source file contains '?' or '\x7f'
164
+ (where the inability to copy '?' is especially annoying).
165
+
166
+ 2010-07-08 Michal Ludvig <mludvig@logix.net.nz>
167
+
168
+ * S3/Utils.py, S3/S3Uri.py: Fixed names after moving
169
+ functions between modules.
170
+
171
+ 2010-06-29 Timothee Groleau <kde@timotheegroleau.com>
172
+
173
+ * S3/ACL.py: Fix isAnonRead method on Grantees
174
+ * ChangeLog: Update name of contributor for Timothee Groleau
175
+
176
+ 2010-06-13 Michal Ludvig <mludvig@logix.net.nz>
177
+
178
+ * s3cmd, S3/CloudFront.py: Both [accesslog] and [cfmodify]
179
+ access logging can now be disabled with --no-access-logging
180
+
181
+ 2010-06-13 Michal Ludvig <mludvig@logix.net.nz>
182
+
183
+ * S3/CloudFront.py: Allow s3:// URI as well as cf:// URI
184
+ for most CloudFront-related commands.
185
+
186
+ 2010-06-12 Michal Ludvig <mludvig@logix.net.nz>
187
+
188
+ * s3cmd, S3/CloudFront.py, S3/Config.py: Support access
189
+ logging for CloudFront distributions.
190
+ * S3/S3.py, S3/Utils.py: Moved some functions to Utils.py
191
+ to make them available to CloudFront.py
192
+ * NEWS: Document the above.
193
+
194
+ 2010-05-27 Michal Ludvig <mludvig@logix.net.nz>
195
+
196
+ * S3/S3.py: Fix bucket listing for buckets with
197
+ over 1000 prefixes. (contributed by Timothee Groleau)
198
+ * S3/S3.py: Fixed code formating.
199
+
200
+ 2010-05-21 Michal Ludvig <mludvig@logix.net.nz>
201
+
202
+ * s3cmd, S3/S3.py: Added support for bucket locations
203
+ outside US/EU (i.e. us-west-1 and ap-southeast-1 as of now).
204
+
205
+ 2010-05-21 Michal Ludvig <mludvig@logix.net.nz>
206
+
207
+ * s3cmd, S3/S3.py, S3/Config.py: Added --reduced-redundancy
208
+ switch for Reduced Redundancy Storage.
209
+
210
+ 2010-05-20 Michal Ludvig <mludvig@logix.net.nz>
211
+
212
+ * s3cmd, S3/ACL.py, S3/Config.py: Support for --acl-grant
213
+ and --acl-revoke (contributed by Timothee Groleau)
214
+ * s3cmd: Couple of fixes on top of the above commit.
215
+ * s3cmd: Pre-parse ACL parameters in OptionS3ACL()
216
+
217
+ 2010-05-20 Michal Ludvig <mludvig@logix.net.nz>
218
+
219
+ * S3/Exceptions.py, S3/S3.py: Some HTTP_400 exceptions
220
+ are retriable.
221
+
222
+ 2010-03-19 Michal Ludvig <mludvig@logix.net.nz>
223
+
224
+ * s3cmd, S3/ACL.py: Print all ACLs for a Grantee
225
+ (one Grantee can have multiple different Grant entries)
226
+
227
+ 2010-03-19 Michal Ludvig <mludvig@logix.net.nz>
228
+
229
+ * s3cmd: Enable bucket-level ACL setting
230
+ * s3cmd, S3/AccessLog.py, ...: Added [accesslog] command.
231
+ * s3cmd: Fix imports from S3.Utils
232
+
233
+ 2009-12-10 Michal Ludvig <mludvig@logix.net.nz>
234
+
235
+ * s3cmd: Path separator conversion on Windows hosts.
236
+
237
+ 2009-10-08 Michal Ludvig <mludvig@logix.net.nz>
238
+
239
+ * Released version 0.9.9.91
240
+ -------------------------
241
+
242
+ * S3/PkgInfo.py: Updated to 0.9.9.91
243
+ * NEWS: News for 0.9.9.91
244
+
245
+ 2009-10-08 Michal Ludvig <mludvig@logix.net.nz>
246
+
247
+ * S3/S3.py: fixed reference to _max_retries.
248
+
249
+ 2009-10-06 Michal Ludvig <mludvig@logix.net.nz>
250
+
251
+ * Released version 0.9.9.90
252
+ -------------------------
253
+
254
+ * S3/PkgInfo.py: Updated to 0.9.9.90
255
+ * NEWS: News for 0.9.9.90
256
+
257
+ 2009-10-06 Michal Ludvig <mludvig@logix.net.nz>
258
+
259
+ * S3/S3.py: Introduce throttling on upload only after
260
+ second failure. I.e. first retry at full speed.
261
+ * TODO: Updated with new ideas.
262
+
263
+ 2009-06-02 Michal Ludvig <michal@logix.cz>
264
+
265
+ * s3cmd: New [fixbucket] command for fixing invalid object
266
+ names in a given Bucket. For instance names with &#x08; in
267
+ them (not sure how people manage to upload them but they do).
268
+ * S3/S3.py, S3/Utils.py, S3/Config.py: Support methods for
269
+ the above, plus advise user to run 'fixbucket' when XML parsing
270
+ fails.
271
+ * NEWS: Updated.
272
+
273
+ 2009-05-29 Michal Ludvig <michal@logix.cz>
274
+
275
+ * S3/Utils.py: New function replace_nonprintables()
276
+ * s3cmd: Filter local filenames through the above function
277
+ to avoid problems with uploaded filenames containing invalid
278
+ XML entities, eg &#08;
279
+ * S3/S3.py: Warn if a non-printables char is passed to
280
+ urlencode_string() - they should have been replaced earlier
281
+ in the processing.
282
+ * run-tests.py, TODO, NEWS: Updated.
283
+ * testsuite/crappy-file-name.tar.gz: Tarball with a crappy-named
284
+ file. Untar for the testsuite.
285
+
286
+ 2009-05-29 Michal Ludvig <michal@logix.cz>
287
+
288
+ * testsuite/blahBlah/*: Added files needed for run-tests.py
289
+
290
+ 2009-05-28 Michal Ludvig <michal@logix.cz>
291
+
292
+ * S3/Utils.py (dateS3toPython): Be more relaxed about
293
+ timestamps format.
294
+
295
+ 2009-05-28 Michal Ludvig <michal@logix.cz>
296
+
297
+ * s3cmd, run-test.py, TODO, NEWS: Added --dry-run
298
+ and --exclude/--include for [setacl].
299
+ * s3cmd, run-test.py, TODO, NEWS: Added --dry-run
300
+ and --exclude/--include for [del].
301
+
302
+ 2009-05-28 Michal Ludvig <michal@logix.cz>
303
+
304
+ * s3cmd: Support for recursive [cp] and [mv], including
305
+ multiple-source arguments, --include/--exclude,
306
+ --dry-run, etc.
307
+ * run-tests.py: Tests for the above.
308
+ * S3/S3.py: Preserve metadata (eg ACL or MIME type)
309
+ during [cp] and [mv].
310
+ * NEWS, TODO: Updated.
311
+
312
+ 2009-05-28 Michal Ludvig <michal@logix.cz>
313
+
314
+ * run-tests.py: Added --verbose mode.
315
+
316
+ 2009-05-27 Michal Ludvig <michal@logix.cz>
317
+
318
+ * NEWS: Added info about --verbatim.
319
+ * TODO: Added more tasks.
320
+
321
+ 2009-05-27 Michal Ludvig <michal@logix.cz>
322
+
323
+ * S3/SortedDict.py: Add case-sensitive mode.
324
+ * s3cmd, S3/S3.py, S3/Config.py: Use SortedDict() in
325
+ case-sensitive mode to avoid dropping filenames
326
+ differing only in capitalisation
327
+ * run-tests.py: Testsuite for the above.
328
+ * NEWS: Updated.
329
+
330
+ 2009-03-20 Michal Ludvig <michal@logix.cz>
331
+
332
+ * S3/S3.py: Re-sign requests before retrial to avoid
333
+ RequestTimeTooSkewed errors on failed long-running
334
+ uploads.
335
+ BTW 'request' now has its own class S3Request.
336
+
337
+ 2009-03-04 Michal Ludvig <michal@logix.cz>
338
+
339
+ * s3cmd, S3/Config.py, S3/S3.py: Support for --verbatim.
340
+
341
+ 2009-02-25 Michal Ludvig <michal@logix.cz>
342
+
343
+ * s3cmd: Fixed "put file.ext s3://bkt" (ie just the bucket name).
344
+ * s3cmd: Fixed reporting of ImportError of S3 modules.
345
+ * s3cmd: Fixed Error: global name 'real_filename' is not defined
346
+
347
+ 2009-02-24 Michal Ludvig <michal@logix.cz>
348
+
349
+ * s3cmd: New command [sign]
350
+ * S3/Utils.py: New function sign_string()
351
+ * S3/S3.py, S3/CloudFront.py: Use sign_string().
352
+ * NEWS: Updated.
353
+
354
+ 2009-02-17 Michal Ludvig <michal@logix.cz>
355
+
356
+ * Released version 0.9.9
357
+ ----------------------
358
+
359
+ * S3/PkgInfo.py: Updated to 0.9.9
360
+ * NEWS: Compile a big news list for 0.9.9
361
+
362
+ 2009-02-17 Michal Ludvig <michal@logix.cz>
363
+
364
+ * s3cmd.1: Document all the new options and commands.
365
+ * s3cmd, S3/Config.py: Updated some help texts. Removed
366
+ option --debug-syncmatch along the way (because --dry-run
367
+ with --debug is good enough).
368
+ * TODO: Updated.
369
+
370
+ 2009-02-16 Michal Ludvig <michal@logix.cz>
371
+
372
+ * s3cmd: Check Python version >= 2.4 as soon as possible.
373
+
374
+ 2009-02-14 Michal Ludvig <michal@logix.cz>
375
+
376
+ * s3cmd, S3/Config.py, S3/S3.py: Added --add-header option.
377
+ * NEWS: Documented --add-header.
378
+ * run-tests.py: Fixed for new messages.
379
+
380
+ 2009-02-14 Michal Ludvig <michal@logix.cz>
381
+
382
+ * README: Updated for 0.9.9
383
+ * s3cmd, S3/PkgInfo.py, s3cmd.1: Replaced project
384
+ URLs with http://s3tools.org
385
+ * NEWS: Improved message.
386
+
387
+ 2009-02-12 Michal Ludvig <michal@logix.cz>
388
+
389
+ * s3cmd: Added --list-md5 for 'ls' command.
390
+ * S3/Config.py: New setting list_md5
391
+
392
+ 2009-02-12 Michal Ludvig <michal@logix.cz>
393
+
394
+ * s3cmd: Set Content-Length header for requests with 'body'.
395
+ * s3cmd: And send it for requests with no body as well...
396
+
397
+ 2009-02-02 Michal Ludvig <michal@logix.cz>
398
+
399
+ * Released version 0.9.9-rc3
400
+ --------------------------
401
+
402
+ * S3/PkgInfo.py, NEWS: Updated for 0.9.9-rc3
403
+
404
+ 2009-02-01 Michal Ludvig <michal@logix.cz>
405
+
406
+ * S3/Exceptions.py: Correct S3Exception.__str__() to
407
+ avoid crash in S3Error() subclass. Reported by '~t2~'.
408
+ * NEWS: Updated.
409
+
410
+ 2009-01-30 Michal Ludvig <michal@logix.cz>
411
+
412
+ * Released version 0.9.9-rc2
413
+ --------------------------
414
+
415
+ * S3/PkgInfo.py, NEWS, TODO: Updated for 0.9.9-rc2
416
+
417
+ 2009-01-30 Michal Ludvig <michal@logix.cz>
418
+
419
+ * s3cmd: Under some circumstance s3cmd crashed
420
+ when put/get/sync had 0 files to transmit. Fixed now.
421
+
422
+ 2009-01-28 Michal Ludvig <michal@logix.cz>
423
+
424
+ * s3cmd: Output 'delete:' in --dry-run only when
425
+ used together with --delete-removed. Otherwise
426
+ the user will think that without --dry-run it
427
+ would really delete the files.
428
+
429
+ 2009-01-27 Michal Ludvig <michal@logix.cz>
430
+
431
+ * Released version 0.9.9-rc1
432
+ --------------------------
433
+
434
+ * S3/PkgInfo.py, NEWS, TODO: Updated for 0.9.9-rc1
435
+
436
+ 2009-01-26 Michal Ludvig <michal@logix.cz>
437
+
438
+ * Merged CloudFront support from branches/s3cmd-airlock
439
+ See the ChangeLog in that branch for details.
440
+
441
+ 2009-01-25 W. Tell <w_tell -at- sourceforge>
442
+
443
+ * s3cmd: Implemented --include and friends.
444
+
445
+ 2009-01-25 Michal Ludvig <michal@logix.cz>
446
+
447
+ * s3cmd: Enabled --dry-run and --exclude for 'put' and 'get'.
448
+ * S3/Exceptions.py: Remove DeprecationWarning about
449
+ BaseException.message in Python 2.6
450
+ * s3cmd: Rewritten gpg_command() to use subprocess.Popen()
451
+ instead of os.popen4() deprecated in 2.6
452
+ * TODO: Note about failing GPG.
453
+
454
+ 2009-01-22 Michal Ludvig <michal@logix.cz>
455
+
456
+ * S3/Config.py: guess_mime_type = True (will affect new
457
+ installations only).
458
+
459
+ 2009-01-22 Michal Ludvig <michal@logix.cz>
460
+
461
+ * Released version 0.9.9-pre5
462
+ ---------------------------
463
+
464
+ * S3/PkgInfo.py, NEWS, TODO: Updated for 0.9.9-pre5
465
+
466
+ 2009-01-22 Michal Ludvig <michal@logix.cz>
467
+
468
+ * run-tests.py: Updated paths for the new sync
469
+ semantics.
470
+ * s3cmd, S3/S3.py: Small fixes to make testsuite happy.
471
+
472
+ 2009-01-21 Michal Ludvig <michal@logix.cz>
473
+
474
+ * s3cmd: Migrated 'sync' local->remote to the new
475
+ scheme with fetch_{local,remote}_list().
476
+ Enabled --dry-run for 'sync'.
477
+
478
+ 2009-01-20 Michal Ludvig <michal@logix.cz>
479
+
480
+ * s3cmd: Migrated 'sync' remote->local to the new
481
+ scheme with fetch_{local,remote}_list().
482
+ Changed fetch_remote_list() to return dict() compatible
483
+ with fetch_local_list().
484
+ Re-implemented --exclude / --include processing.
485
+ * S3/Utils.py: functions for parsing RFC822 dates (for HTTP
486
+ header responses).
487
+ * S3/Config.py: placeholders for --include.
488
+
489
+ 2009-01-15 Michal Ludvig <michal@logix.cz>
490
+
491
+ * s3cmd, S3/S3Uri.py, NEWS: Support for recursive 'put'.
492
+
493
+ 2009-01-13 Michal Ludvig <michal@logix.cz>
494
+
495
+ * TODO: Updated.
496
+ * s3cmd: renamed (fetch_)remote_keys to remote_list and
497
+ a few other renames for consistency.
498
+
499
+ 2009-01-08 Michal Ludvig <michal@logix.cz>
500
+
501
+ * S3/S3.py: Some errors during file upload were incorrectly
502
+ interpreted as MD5 mismatch. (bug #2384990)
503
+ * S3/ACL.py: Move attributes from class to instance.
504
+ * run-tests.py: Tests for ACL.
505
+ * s3cmd: Minor messages changes.
506
+
507
+ 2009-01-07 Michal Ludvig <michal@logix.cz>
508
+
509
+ * s3cmd: New command 'setacl'.
510
+ * S3/S3.py: Implemented set_acl().
511
+ * S3/ACL.py: Fill in <Owner/> tag in ACL XML.
512
+ * NEWS: Info about 'setacl'.
513
+
514
+ 2009-01-07 Michal Ludvig <michal@logix.cz>
515
+
516
+ * s3cmd: Factored remote_keys generation from cmd_object_get()
517
+ to fetch_remote_keys().
518
+ * s3cmd: Display Public URL in 'info' for AnonRead objects.
519
+ * S3/ACL.py: Generate XML from a current list of Grantees
520
+
521
+ 2009-01-07 Michal Ludvig <michal@logix.cz>
522
+
523
+ * S3/ACL.py: Keep ACL internally as a list of of 'Grantee' objects.
524
+ * S3/Utils.py: Fix crash in stripNameSpace() when the XML has no NS.
525
+
526
+ 2009-01-07 Michal Ludvig <michal@logix.cz>
527
+
528
+ * S3/ACL.py: New object for handling ACL issues.
529
+ * S3/S3.py: Moved most of S3.get_acl() to ACL class.
530
+ * S3/Utils.py: Reworked XML helpers - remove XMLNS before
531
+ parsing the input XML to avoid having all Tags prefixed
532
+ with {XMLNS} by ElementTree.
533
+
534
+ 2009-01-03 Michal Ludvig <michal@logix.cz>
535
+
536
+ * s3cmd: Don't fail when neither $HOME nor %USERPROFILE% is set.
537
+ (fixes #2483388)
538
+
539
+ 2009-01-01 W. Tell <w_tell -at- sourceforge>
540
+
541
+ * S3/S3.py, S3/Utils.py: Use 'hashlib' instead of md5 and sha
542
+ modules to avoid Python 2.6 warnings.
543
+
544
+ 2008-12-31 Michal Ludvig <michal@logix.cz>
545
+
546
+ * Released version 0.9.9-pre4
547
+ ---------------------------
548
+
549
+ 2008-12-31 Michal Ludvig <michal@logix.cz>
550
+
551
+ * s3cmd: Reworked internal handling of unicode vs encoded filenames.
552
+ Should replace unknown characters with '?' instead of baling out.
553
+
554
+ 2008-12-31 Michal Ludvig <michal@logix.cz>
555
+
556
+ * run-tests.py: Display system encoding in use.
557
+ * s3cmd: Print a nice error message when --exclude-from
558
+ file is not readable.
559
+ * S3/PkgInfo.py: Bumped up version to 0.9.9-pre4
560
+ * S3/Exceptions.py: Added missing imports.
561
+ * NEWS: Updated.
562
+ * testsuite: reorganised UTF-8 files, added GBK encoding files,
563
+ moved encoding-specific files to 'tar.gz' archives, removed
564
+ unicode dir.
565
+ * run-tests.py: Adapted to the above change.
566
+ * run-tests.sh: removed.
567
+ * testsuite/exclude.encodings: Added.
568
+ * run-tests.py: Don't assume utf-8, use preferred encoding
569
+ instead.
570
+ * s3cmd, S3/Utils.py, S3/Exceptions.py, S3/Progress.py,
571
+ S3/Config.py, S3/S3.py: Added --encoding switch and
572
+ Config.encoding variable. Don't assume utf-8 for filesystem
573
+ and terminal output anymore.
574
+ * s3cmd: Avoid ZeroDivisionError on fast links.
575
+ * s3cmd: Unicodised all info() output.
576
+
577
+ 2008-12-30 Michal Ludvig <michal@logix.cz>
578
+
579
+ * s3cmd: Replace unknown Unicode characters with '?'
580
+ to avoid UnicodeEncodeError's. Also make all output strings
581
+ unicode.
582
+ * run-tests.py: Exit on failed test. Fixed order of tests.
583
+
584
+ 2008-12-29 Michal Ludvig <michal@logix.cz>
585
+
586
+ * TODO, NEWS: Updated
587
+ * s3cmd: Improved wildcard get.
588
+ * run-tests.py: Improved testsuite, added parameters support
589
+ to run only specified tests, cleaned up win/posix integration.
590
+ * S3/Exception.py: Python 2.4 doesn't automatically set
591
+ Exception.message.
592
+
593
+ 2008-12-29 Michal Ludvig <michal@logix.cz>
594
+
595
+ * s3cmd, run-tests.py: Make it work on Windows.
596
+
597
+ 2008-12-26 Michal Ludvig <michal@logix.cz>
598
+
599
+ * setup.cfg: Remove explicit install prefix. That should fix
600
+ Mac OS X and Windows "setup.py install" runs.
601
+
602
+ 2008-12-22 Michal Ludvig <michal@logix.cz>
603
+
604
+ * s3cmd, S3/S3.py, S3/Progress.py: Display "[X of Y]"
605
+ in --progress mode.
606
+ * s3cmd, S3/Config.py: Implemented recursive [get].
607
+ Added --skip-existing option for [get] and [sync].
608
+
609
+ 2008-12-17 Michal Ludvig <michal@logix.cz>
610
+
611
+ * TODO: Updated
612
+
613
+ 2008-12-14 Michal Ludvig <michal@logix.cz>
614
+
615
+ * S3/Progress.py: Restructured import Utils to avoid import
616
+ conflicts.
617
+
618
+ 2008-12-12 Michal Ludvig <michal@logix.cz>
619
+
620
+ * s3cmd: Better Exception output. Print sys.path on ImportError,
621
+ don't print backtrace on KeyboardInterrupt
622
+
623
+ 2008-12-11 Michal Ludvig <michal@logix.cz>
624
+
625
+ * s3cmd: Support for multiple sources in 'get' command.
626
+
627
+ 2008-12-10 Michal Ludvig <michal@logix.cz>
628
+
629
+ * TODO: Updated list.
630
+ * s3cmd: Don't display download/upload completed message
631
+ in --progress mode.
632
+ * S3/S3.py: Pass src/dst names down to Progress class.
633
+ * S3/Progress.py: added new class ProgressCR - apparently
634
+ ProgressANSI doesn't work on MacOS-X (and perhaps elsewhere).
635
+ * S3/Config.py: Default progress meter is now ProgressCR
636
+ * s3cmd: Updated email address for reporting bugs.
637
+
638
+ 2008-12-02 Michal Ludvig <michal@logix.cz>
639
+
640
+ * s3cmd, S3/S3.py, NEWS: Support for (non-)recursive 'ls'
641
+
642
+ 2008-12-01 Michal Ludvig <michal@logix.cz>
643
+
644
+ * Released version 0.9.9-pre3
645
+ ---------------------------
646
+
647
+ * S3/PkgInfo.py: Bumped up version to 0.9.9-pre3
648
+
649
+ 2008-12-01 Michal Ludvig <michal@logix.cz>
650
+
651
+ * run-tests.py: Added a lot of new tests.
652
+ * testsuite/etc/logo.png: New file.
653
+
654
+ 2008-11-30 Michal Ludvig <michal@logix.cz>
655
+
656
+ * S3/S3.py: object_get() -- make start_position argument optional.
657
+
658
+ 2008-11-29 Michal Ludvig <michal@logix.cz>
659
+
660
+ * s3cmd: Delete local files with "sync --delete-removed"
661
+
662
+ 2008-11-25 Michal Ludvig <michal@logix.cz>
663
+
664
+ * s3cmd, S3/Progress.py: Fixed Unicode output in Progress meter.
665
+ * s3cmd: Fixed 'del --recursive' without prefix (i.e. all objects).
666
+ * TODO: Updated list.
667
+ * upload-to-sf.sh: Helper script.
668
+ * S3/PkgInfo.py: Bumped up version to 0.9.9-pre2+svn
669
+
670
+ 2008-11-24 Michal Ludvig <michal@logix.cz>
671
+
672
+ * Released version 0.9.9-pre2
673
+ ------------------------
674
+
675
+ * S3/PkgInfo.py: Bumped up version to 0.9.9-pre2
676
+ * NEWS: Added 0.9.9-pre2
677
+
678
+ 2008-11-24 Michal Ludvig <michal@logix.cz>
679
+
680
+ * s3cmd, s3cmd.1, S3/S3.py: Display or don't display progress meter
681
+ default depends on whether we're on TTY (console) or not.
682
+
683
+ 2008-11-24 Michal Ludvig <michal@logix.cz>
684
+
685
+ * s3cmd: Fixed 'get' conflict.
686
+ * s3cmd.1, TODO: Document 'mv' command.
687
+
688
+ 2008-11-24 Michal Ludvig <michal@logix.cz>
689
+
690
+ * S3/S3.py, s3cmd, S3/Config.py, s3cmd.1: Added --continue for
691
+ 'get' command, improved 'get' failure resiliency.
692
+ * S3/Progress.py: Support for progress meter not starting in 0.
693
+ * S3/S3.py: improved retrying in send_request() and send_file()
694
+
695
+ 2008-11-24 Michal Ludvig <michal@logix.cz>
696
+
697
+ * s3cmd, S3/S3.py, NEWS: "s3cmd mv" for moving objects
698
+
699
+ 2008-11-24 Michal Ludvig <michal@logix.cz>
700
+
701
+ * S3/Utils.py: Common XML parser.
702
+ * s3cmd, S3/Exeptions.py: Print info message on Error.
703
+
704
+ 2008-11-21 Michal Ludvig <michal@logix.cz>
705
+
706
+ * s3cmd: Support for 'cp' command.
707
+ * S3/S3.py: Added S3.object.copy() method.
708
+ * s3cmd.1: Document 'cp' command.
709
+ * NEWS: Let everyone know ;-)
710
+ Thanks Andrew Ryan for a patch proposal!
711
+ https://sourceforge.net/forum/forum.php?thread_id=2346987&forum_id=618865
712
+
713
+ 2008-11-17 Michal Ludvig <michal@logix.cz>
714
+
715
+ * S3/Progress.py: Two progress meter implementations.
716
+ * S3/Config.py, s3cmd: New --progress / --no-progress parameters
717
+ and Config() members.
718
+ * S3/S3.py: Call Progress() in send_file()/recv_file()
719
+ * NEWS: Let everyone know ;-)
720
+
721
+ 2008-11-16 Michal Ludvig <michal@logix.cz>
722
+
723
+ * NEWS: Fetch 0.9.8.4 release news from 0.9.8.x branch.
724
+
725
+ 2008-11-16 Michal Ludvig <michal@logix.cz>
726
+
727
+ Merge from 0.9.8.x branch, rel 251:
728
+ * S3/S3.py: Adjusting previous commit (orig 249) - it's not a good idea
729
+ to retry ALL failures. Especially not those code=4xx where AmazonS3
730
+ servers are not happy with our requests.
731
+ Merge from 0.9.8.x branch, rel 249:
732
+ * S3/S3.py, S3/Exception.py: Re-issue failed requests in S3.send_request()
733
+ Merge from 0.9.8.x branch, rel 248:
734
+ * s3cmd: Don't leak open filehandles in sync. Thx Patrick Linskey for report.
735
+ Merge from 0.9.8.x branch, rel 247:
736
+ * s3cmd: Re-raise the right exception.
737
+ Merge from 0.9.8.x branch, rel 246:
738
+ * s3cmd, S3/S3.py, S3/Exceptions.py: Don't abort 'sync' or 'put' on files
739
+ that can't be open (e.g. Permision denied). Print a warning and skip over
740
+ instead.
741
+ Merge from 0.9.8.x branch, rel 245:
742
+ * S3/S3.py: Escape parameters in strings. Fixes sync to and
743
+ ls of directories with spaces. (Thx Lubomir Rintel from Fedora Project)
744
+ Merge from 0.9.8.x branch, rel 244:
745
+ * s3cmd: Unicode brainfuck again. This time force all output
746
+ in UTF-8, will see how many complaints we'll get...
747
+
748
+ 2008-09-16 Michal Ludvig <michal@logix.cz>
749
+
750
+ * NEWS: s3cmd 0.9.8.4 released from branches/0.9.8.x SVN branch.
751
+
752
+ 2008-09-16 Michal Ludvig <michal@logix.cz>
753
+
754
+ * S3/S3.py: Don't run into ZeroDivisionError when speed counter
755
+ returns 0s elapsed on upload/download file.
756
+
757
+ 2008-09-15 Michal Ludvig <michal@logix.cz>
758
+
759
+ * s3cmd, S3/S3.py, S3/Utils.py, S3/S3Uri.py, S3/Exceptions.py:
760
+ Yet anoter Unicode round. Unicodised all command line arguments
761
+ before processing.
762
+
763
+ 2008-09-15 Michal Ludvig <michal@logix.cz>
764
+
765
+ * S3/S3.py: "s3cmd mb" can create upper-case buckets again
766
+ in US. Non-US (e.g. EU) bucket names must conform to strict
767
+ DNS-rules.
768
+ * S3/S3Uri.py: Display public URLs correctly for non-DNS buckets.
769
+
770
+ 2008-09-10 Michal Ludvig <michal@logix.cz>
771
+
772
+ * testsuite, run-tests.py: Added testsuite with first few tests.
773
+
774
+ 2008-09-10 Michal Ludvig <michal@logix.cz>
775
+
776
+ * s3cmd, S3/S3Uri.py, S3/S3.py: All internal representations of
777
+ S3Uri()s are Unicode (i.e. not UTF-8 but type()==unicode). It
778
+ still doesn't work on non-UTF8 systems though.
779
+
780
+ 2008-09-04 Michal Ludvig <michal@logix.cz>
781
+
782
+ * s3cmd: Rework UTF-8 output to keep sys.stdout untouched (or it'd
783
+ break 's3cmd get' to stdout for binary files).
784
+
785
+ 2008-09-03 Michal Ludvig <michal@logix.cz>
786
+
787
+ * s3cmd, S3/S3.py, S3/Config.py: Removed --use-old-connect-method
788
+ again. Autodetect the need for old connect method instead.
789
+
790
+ 2008-09-03 Michal Ludvig <michal@logix.cz>
791
+
792
+ * s3cmd, S3/S3.py: Make --verbose mode more useful and default
793
+ mode less verbose.
794
+
795
+ 2008-09-03 Michal Ludvig <michal@logix.cz>
796
+
797
+ * s3cmd, S3/Config.py: [rb] Allow removal of non-empty buckets
798
+ with --force.
799
+ [mb, rb] Allow multiple arguments, i.e. create or remove
800
+ multiple buckets at once.
801
+ [del] Perform recursive removal with --recursive (or -r).
802
+
803
+ 2008-09-01 Michal Ludvig <michal@logix.cz>
804
+
805
+ * s3cmd: Refuse 'sync' together with '--encrypt'.
806
+ * S3/S3.py: removed object_{get,put,delete}_uri() functions
807
+ and made object_{get,put,delete}() accept URI instead of
808
+ bucket/object parameters.
809
+
810
+ 2008-09-01 Michal Ludvig <michal@logix.cz>
811
+
812
+ * S3/PkgInfo.py: Bumped up version to 0.9.9-pre1
813
+
814
+ 2008-09-01 Michal Ludvig <michal@logix.cz>
815
+
816
+ * s3cmd, S3/S3.py, S3/Config.py: Allow access to upper-case
817
+ named buckets again with --use-old-connect-method
818
+ (uses http://s3.amazonaws.com/bucket/object instead of
819
+ http://bucket.s3.amazonaws.com/object)
820
+
821
+ 2008-08-19 Michal Ludvig <michal@logix.cz>
822
+
823
+ * s3cmd: Always output UTF-8, even on output redirects.
824
+
825
+ 2008-08-01 Michal Ludvig <michal@logix.cz>
826
+
827
+ * TODO: Add some items
828
+
829
+ 2008-07-29 Michal Ludvig <michal@logix.cz>
830
+
831
+ * Released version 0.9.8.3
832
+ ------------------------
833
+
834
+ 2008-07-29 Michal Ludvig <michal@logix.cz>
835
+
836
+ * S3/PkgInfo.py: Bumped up version to 0.9.8.3
837
+ * NEWS: Added 0.9.8.3
838
+
839
+ 2008-07-29 Michal Ludvig <michal@logix.cz>
840
+
841
+ * S3/Utils.py (hash_file_md5): Hash files in 32kB chunks
842
+ instead of reading it all up to a memory first to avoid
843
+ OOM on large files.
844
+
845
+ 2008-07-07 Michal Ludvig <michal@logix.cz>
846
+
847
+ * s3cmd.1: couple of syntax fixes from Mikhail Gusarov
848
+
849
+ 2008-07-03 Michal Ludvig <michal@logix.cz>
850
+
851
+ * Released version 0.9.8.2
852
+ ------------------------
853
+
854
+ 2008-07-03 Michal Ludvig <michal@logix.cz>
855
+
856
+ * S3/PkgInfo.py: Bumped up version to 0.9.8.2
857
+ * NEWS: Added 0.9.8.2
858
+ * s3cmd: Print version info on 'unexpected error' output.
859
+
860
+ 2008-06-30 Michal Ludvig <michal@logix.cz>
861
+
862
+ * S3/S3.py: Re-upload when Amazon doesn't send ETag
863
+ in PUT response. It happens from time to time for
864
+ unknown reasons. Thanks "Burtc" for report and
865
+ "hermzz" for fix.
866
+
867
+ 2008-06-27 Michal Ludvig <michal@logix.cz>
868
+
869
+ * Released version 0.9.8.1
870
+ ------------------------
871
+
872
+ 2008-06-27 Michal Ludvig <michal@logix.cz>
873
+
874
+ * S3/PkgInfo.py: Bumped up version to 0.9.8.1
875
+ * NEWS: Added 0.9.8.1
876
+ * s3cmd: make 'cfg' global
877
+ * run-tests.sh: Sort-of testsuite
878
+
879
+ 2008-06-23 Michal Ludvig <michal@logix.cz>
880
+
881
+ * Released version 0.9.8
882
+ ----------------------
883
+
884
+ 2008-06-23 Michal Ludvig <michal@logix.cz>
885
+
886
+ * S3/PkgInfo.py: Bumped up version to 0.9.8
887
+ * NEWS: Added 0.9.8
888
+ * TODO: Removed completed tasks
889
+
890
+ 2008-06-23 Michal Ludvig <michal@logix.cz>
891
+
892
+ * s3cmd: Last-minute compatibility fixes for Python 2.4
893
+ * s3cmd, s3cmd.1: --debug-exclude is an alias for --debug-syncmatch
894
+ * s3cmd: Don't require $HOME env variable to be set.
895
+ Fixes #2000133
896
+ * s3cmd: Wrapped all execution in a try/except block
897
+ to catch all exceptions and ask for a report.
898
+
899
+ 2008-06-18 Michal Ludvig <michal@logix.cz>
900
+
901
+ * S3/PkgInfo.py: Version 0.9.8-rc3
902
+
903
+ 2008-06-18 Michal Ludvig <michal@logix.cz>
904
+
905
+ * S3/S3.py: Bucket name can't contain upper-case letters (S3/DNS limitation).
906
+
907
+ 2008-06-12 Michal Ludvig <michal@logix.cz>
908
+
909
+ * S3/PkgInfo.py: Version 0.9.8-rc2
910
+
911
+ 2008-06-12 Michal Ludvig <michal@logix.cz>
912
+
913
+ * s3cmd, s3cmd.1: Added GLOB (shell-style wildcard) exclude, renamed
914
+ orig regexp-style --exclude to --rexclude
915
+
916
+ 2008-06-11 Michal Ludvig <michal@logix.cz>
917
+
918
+ * S3/PkgInfo.py: Version 0.9.8-rc1
919
+
920
+ 2008-06-11 Michal Ludvig <michal@logix.cz>
921
+
922
+ * s3cmd: Remove python 2.5 specific code (try/except/finally
923
+ block) and make s3cmd compatible with python 2.4 again.
924
+ * s3cmd, S3/Config.py, s3cmd.1: Added --exclude-from and --debug-syncmatch
925
+ switches for sync.
926
+
927
+ 2008-06-10 Michal Ludvig <michal@logix.cz>
928
+
929
+ * s3cmd: Added --exclude switch for sync.
930
+ * s3cmd.1, NEWS: Document --exclude
931
+
932
+ 2008-06-05 Michal Ludvig <michal@logix.cz>
933
+
934
+ * Released version 0.9.7
935
+ ----------------------
936
+
937
+ 2008-06-05 Michal Ludvig <michal@logix.cz>
938
+
939
+ * S3/PkgInfo.py: Bumped up version to 0.9.7
940
+ * NEWS: Added 0.9.7
941
+ * TODO: Removed completed tasks
942
+ * s3cmd, s3cmd.1: Updated help texts,
943
+ removed --dry-run option as it's not implemented.
944
+
945
+ 2008-06-05 Michal Ludvig <michal@logix.cz>
946
+
947
+ * S3/Config.py: Store more file attributes in sync to S3.
948
+ * s3cmd: Make sync remote2local more error-resilient.
949
+
950
+ 2008-06-04 Michal Ludvig <michal@logix.cz>
951
+
952
+ * s3cmd: Implemented cmd_sync_remote2local() for restoring
953
+ backup from S3 to a local filesystem
954
+ * S3/S3.py: S3.object_get_uri() now requires writable stream
955
+ and not a path name.
956
+ * S3/Utils.py: Added mkdir_with_parents()
957
+
958
+ 2008-06-04 Michal Ludvig <michal@logix.cz>
959
+
960
+ * s3cmd: Refactored cmd_sync() in preparation
961
+ for remote->local sync.
962
+
963
+ 2008-04-30 Michal Ludvig <michal@logix.cz>
964
+
965
+ * s3db, S3/SimpleDB.py: Implemented almost full SimpleDB API.
966
+
967
+ 2008-04-29 Michal Ludvig <michal@logix.cz>
968
+
969
+ * s3db, S3/SimpleDB.py: Initial support for Amazon SimpleDB.
970
+ For now implements ListDomains() call and most of the
971
+ infrastructure required for request creation.
972
+
973
+ 2008-04-29 Michal Ludvig <michal@logix.cz>
974
+
975
+ * S3/Exceptions.py: Exceptions moved out of S3.S3
976
+ * S3/SortedDict.py: rewritten from scratch to preserve
977
+ case of keys while still sorting in case-ignore mode.
978
+
979
+ 2008-04-28 Michal Ludvig <michal@logix.cz>
980
+
981
+ * S3/S3.py: send_file() now computes MD5 sum of the file
982
+ being uploaded, compares with ETag returned by Amazon
983
+ and retries upload if they don't match.
984
+
985
+ 2008-03-05 Michal Ludvig <michal@logix.cz>
986
+
987
+ * s3cmd, S3/S3.py, S3/Utils.py: Throttle upload speed and retry
988
+ when upload failed.
989
+ Report download/upload speed and time elapsed.
990
+
991
+ 2008-02-28 Michal Ludvig <michal@logix.cz>
992
+
993
+ * Released version 0.9.6
994
+ ----------------------
995
+
996
+ 2008-02-28 Michal Ludvig <michal@logix.cz>
997
+
998
+ * S3/PkgInfo.py: bumped up version to 0.9.6
999
+ * NEWS: What's new in 0.9.6
1000
+
1001
+ 2008-02-27 Michal Ludvig <michal@logix.cz>
1002
+
1003
+ * s3cmd, s3cmd.1: Updated help and man page.
1004
+ * S3/S3.py, S3/Utils.py, s3cmd: Support for 's3cmd info' command.
1005
+ * s3cmd: Fix crash when 'sync'ing files with unresolvable owner uid/gid.
1006
+ * S3/S3.py, S3/Utils.py: open files in binary mode (otherwise windows
1007
+ users have problems).
1008
+ * S3/S3.py: modify 'x-amz-date' format (problems reported on MacOS X).
1009
+ Thanks Jon Larkowski for fix.
1010
+
1011
+ 2008-02-27 Michal Ludvig <michal@logix.cz>
1012
+
1013
+ * TODO: Updated wishlist.
1014
+
1015
+ 2008-02-11 Michal Ludvig <michal@logix.cz>
1016
+
1017
+ * S3/S3.py: Properly follow RedirectPermanent responses for EU buckets
1018
+ * S3/S3.py: Create public buckets with -P (#1837328)
1019
+ * S3/S3.py, s3cmd: Correctly display public URL on uploads.
1020
+ * S3/S3.py, S3/Config.py: Support for MIME types. Both
1021
+ default and guessing. Fixes bug #1872192 (Thanks Martin Herr)
1022
+
1023
+ 2007-11-13 Michal Ludvig <michal@logix.cz>
1024
+
1025
+ * Released version 0.9.5
1026
+ ----------------------
1027
+
1028
+ 2007-11-13 Michal Ludvig <michal@logix.cz>
1029
+
1030
+ * S3/S3.py: Support for buckets stored in Europe, access now
1031
+ goes via <bucket>.s3.amazonaws.com where possible.
1032
+
1033
+ 2007-11-12 Michal Ludvig <michal@logix.cz>
1034
+
1035
+ * s3cmd: Support for storing file attributes (like ownership,
1036
+ mode, etc) in sync operation.
1037
+ * s3cmd, S3/S3.py: New command 'ib' to get information about
1038
+ bucket (only 'LocationConstraint' supported for now).
1039
+
1040
+ 2007-10-01 Michal Ludvig <michal@logix.cz>
1041
+
1042
+ * s3cmd: Fix typo in argument name (patch
1043
+ from Kim-Minh KAPLAN, SF #1804808)
1044
+
1045
+ 2007-09-25 Michal Ludvig <michal@logix.cz>
1046
+
1047
+ * s3cmd: Exit with error code on error (patch
1048
+ from Kim-Minh KAPLAN, SF #1800583)
1049
+
1050
+ 2007-09-25 Michal Ludvig <michal@logix.cz>
1051
+
1052
+ * S3/S3.py: Don't fail if bucket listing doesn't have
1053
+ <IsTruncated> node.
1054
+ * s3cmd: Create ~/.s3cfg with 0600 permissions.
1055
+
1056
+ 2007-09-13 Michal Ludvig <michal@logix.cz>
1057
+
1058
+ * s3cmd: Improved 'sync'
1059
+ * S3/S3.py: Support for buckets with over 1000 objects.
1060
+
1061
+ 2007-09-03 Michal Ludvig <michal@logix.cz>
1062
+
1063
+ * s3cmd: Small tweaks to --configure workflow.
1064
+
1065
+ 2007-09-02 Michal Ludvig <michal@logix.cz>
1066
+
1067
+ * s3cmd: Initial support for 'sync' operation. For
1068
+ now only local->s3 direction. In this version doesn't
1069
+ work well with non-ASCII filenames and doesn't support
1070
+ encryption.
1071
+
1072
+ 2007-08-24 Michal Ludvig <michal@logix.cz>
1073
+
1074
+ * s3cmd, S3/Util.py: More ElementTree imports cleanup
1075
+
1076
+ 2007-08-19 Michal Ludvig <michal@logix.cz>
1077
+
1078
+ * NEWS: Added news for 0.9.5
1079
+
1080
+ 2007-08-19 Michal Ludvig <michal@logix.cz>
1081
+
1082
+ * s3cmd: Better handling of multiple arguments for put, get and del
1083
+
1084
+ 2007-08-14 Michal Ludvig <michal@logix.cz>
1085
+
1086
+ * setup.py, S3/Utils.py: Try import xml.etree.ElementTree
1087
+ or elementtree.ElementTree module.
1088
+
1089
+ 2007-08-14 Michal Ludvig <michal@logix.cz>
1090
+
1091
+ * s3cmd.1: Add info about --encrypt parameter.
1092
+
1093
+ 2007-08-14 Michal Ludvig <michal@logix.cz>
1094
+
1095
+ * S3/PkgInfo.py: Bump up version to 0.9.5-pre
1096
+
1097
+ 2007-08-13 Michal Ludvig <michal@logix.cz>
1098
+
1099
+ * Released version 0.9.4
1100
+ ----------------------
1101
+
1102
+ 2007-08-13 Michal Ludvig <michal@logix.cz>
1103
+
1104
+ * S3/S3.py: Added function urlencode_string() that encodes
1105
+ non-ascii characters in object name before sending it to S3.
1106
+
1107
+ 2007-08-13 Michal Ludvig <michal@logix.cz>
1108
+
1109
+ * README: Updated Amazon S3 pricing overview
1110
+
1111
+ 2007-08-13 Michal Ludvig <michal@logix.cz>
1112
+
1113
+ * s3cmd, S3/Config.py, S3/S3.py: HTTPS support
1114
+
1115
+ 2007-07-20 Michal Ludvig <michal@logix.cz>
1116
+
1117
+ * setup.py: Check correct Python version and ElementTree availability.
1118
+
1119
+ 2007-07-05 Michal Ludvig <michal@logix.cz>
1120
+
1121
+ * s3cmd: --configure support for Proxy
1122
+ * S3/S3.py: HTTP proxy support from
1123
+ John D. Rowell <jdrowell@exerciseyourbrain.com>
1124
+
1125
+ 2007-06-19 Michal Ludvig <michal@logix.cz>
1126
+
1127
+ * setup.py: Check for S3CMD_PACKAGING and don't install
1128
+ manpages and docs if defined.
1129
+ * INSTALL: Document the above change.
1130
+ * MANIFEST.in: Include uncompressed manpage
1131
+
1132
+ 2007-06-17 Michal Ludvig <michal@logix.cz>
1133
+
1134
+ * s3cmd: Added encryption key support to --configure
1135
+ * S3/PkgInfo.py: Bump up version to 0.9.4-pre
1136
+ * setup.py: Cleaned up some rpm-specific stuff that
1137
+ caused problems to Debian packager Mikhail Gusarov
1138
+ * setup.cfg: Removed [bdist_rpm] section
1139
+ * MANIFEST.in: Include S3/*.py
1140
+
1141
+ 2007-06-16 Michal Ludvig <michal@logix.cz>
1142
+
1143
+ * s3cmd.1: Syntax fixes from Mikhail Gusarov <dottedmag@dottedmag.net>
1144
+
1145
+ 2007-05-27 Michal Ludvig <michal@logix.cz>
1146
+
1147
+ * Support for on-the-fly GPG encryption.
1148
+
1149
+ 2007-05-26 Michal Ludvig <michal@logix.cz>
1150
+
1151
+ * s3cmd.1: Add info about "s3cmd du" command.
1152
+
1153
+ 2007-05-26 Michal Ludvig <michal@logix.cz>
1154
+
1155
+ * Released version 0.9.3
1156
+ ----------------------
1157
+
1158
+ 2007-05-26 Michal Ludvig <michal@logix.cz>
1159
+
1160
+ * s3cmd: Patch from Basil Shubin <basil.shubin@gmail.com>
1161
+ adding support for "s3cmd du" command.
1162
+ * s3cmd: Modified output format of "s3cmd du" to conform
1163
+ with unix "du".
1164
+ * setup.cfg: Require Python 2.5 in RPM. Otherwise it needs
1165
+ to require additional python modules (e.g. ElementTree)
1166
+ which may have different names in different distros. It's
1167
+ indeed still possible to manually install s3cmd with
1168
+ Python 2.4 and appropriate modules.
1169
+
1170
+ 2007-04-09 Michal Ludvig <michal@logix.cz>
1171
+
1172
+ * Released version 0.9.2
1173
+ ----------------------
1174
+
1175
+ 2007-04-09 Michal Ludvig <michal@logix.cz>
1176
+
1177
+ * s3cmd.1: Added manpage
1178
+ * Updated infrastructure files to create "better"
1179
+ distribution archives.
1180
+
1181
+ 2007-03-26 Michal Ludvig <michal@logix.cz>
1182
+
1183
+ * setup.py, S3/PkgInfo.py: Move package info out of setup.py
1184
+ * s3cmd: new parameter --version
1185
+ * s3cmd, S3/S3Uri.py: Output public HTTP URL for objects
1186
+ stored with Public ACL.
1187
+
1188
+ 2007-02-28 Michal Ludvig <michal@logix.cz>
1189
+
1190
+ * s3cmd: Verify supplied accesskey and secretkey
1191
+ in interactive configuration path.
1192
+ * S3/Config.py: Hide access key and secret key
1193
+ from debug output.
1194
+ * S3/S3.py: Modify S3Error exception to work
1195
+ in python 2.4 (=> don't expect Exception is
1196
+ a new-style class).
1197
+ * s3cmd: Updated for the above change.
1198
+
1199
+ 2007-02-19 Michal Ludvig <michal@logix.cz>
1200
+
1201
+ * NEWS, INSTALL, README, setup.py: Added
1202
+ more documentation.
1203
+
1204
+ 2007-02-19 Michal Ludvig <michal@logix.cz>
1205
+
1206
+ * S3/S3.py, s3cmd: New feature - allow "get" to stdout
1207
+
1208
+ 2007-02-19 Michal Ludvig <michal@logix.cz>
1209
+
1210
+ * S3/S3fs.py: Removed (development moved to branch s3fs-devel).
1211
+
1212
+ 2007-02-08 Michal Ludvig <michal@logix.cz>
1213
+
1214
+ * S3/S3fs.py:
1215
+ - Implemented mknod()
1216
+ - Can create directory structure
1217
+ - Rewritten to use SQLite3. Currently can create
1218
+ the filesystem, and a root inode.
1219
+
1220
+ 2007-02-07 Michal Ludvig <michal@logix.cz>
1221
+
1222
+ * s3cmd (from /s3py:74): Renamed SVN top-level project
1223
+ s3py to s3cmd
1224
+
1225
+ 2007-02-07 Michal Ludvig <michal@logix.cz>
1226
+
1227
+ * setup.cfg: Only require Python 2.4, not 2.5
1228
+ * S3/Config.py: Removed show_uri - no longer needed,
1229
+ it's now default
1230
+
1231
+ 2007-02-07 Michal Ludvig <michal@logix.cz>
1232
+
1233
+ * setup.py
1234
+ - Version 0.9.1
1235
+
1236
+ 2007-02-07 Michal Ludvig <michal@logix.cz>
1237
+
1238
+ * s3cmd: Change all "exit()" calls to "sys.exit()"
1239
+ and allow for python 2.4
1240
+ * S3/S3.py: Removed dependency on hashlib -> allow for python 2.4
1241
+
1242
+ 2007-01-27 Michal Ludvig <michal@logix.cz>
1243
+
1244
+ * S3/S3.py, S3/S3Uri.py: Case insensitive regex in S3Uri.py
1245
+
1246
+ 2007-01-26 Michal Ludvig <michal@logix.cz>
1247
+
1248
+ * S3/S3fs.py: Added support for stroing/loading inodes.
1249
+ No data yet however.
1250
+
1251
+ 2007-01-26 Michal Ludvig <michal@logix.cz>
1252
+
1253
+ * S3/S3fs.py: Initial version of S3fs module.
1254
+ Can create filesystem via "S3fs.mkfs()"
1255
+
1256
+ 2007-01-26 Michal Ludvig <michal@logix.cz>
1257
+
1258
+ * S3/BidirMap.py, S3/Config.py, S3/S3.py, S3/S3Uri.py,
1259
+ S3/SortedDict.py, S3/Utils.py, s3cmd: Added headers with
1260
+ copyright to all files
1261
+ * S3/S3.py, S3/S3Uri.py: Removed S3.compose_uri(), introduced
1262
+ S3UriS3.compose_uri() instead.
1263
+
1264
+ 2007-01-26 Michal Ludvig <michal@logix.cz>
1265
+
1266
+ * S3/S3.py, S3/S3Uri.py, s3cmd:
1267
+ - Converted all users of parse_uri to S3Uri class API
1268
+ - Removed "cp" command again. Will have to use 'put'
1269
+ and 'get' for now.
1270
+
1271
+ 2007-01-25 Michal Ludvig <michal@logix.cz>
1272
+
1273
+ * S3/S3Uri.py: New module S3/S3Uri.py
1274
+ * S3/S3.py, s3cmd: Converted "put" operation to use
1275
+ the new S3Uri class.
1276
+
1277
+ 2007-01-24 Michal Ludvig <michal@logix.cz>
1278
+
1279
+ * S3/S3.py
1280
+ * s3cmd
1281
+ - Added 'cp' command
1282
+ - Renamed parse_s3_uri to parse_uri (this will go away anyway)
1283
+
1284
+ 2007-01-19 Michal Ludvig <michal@logix.cz>
1285
+
1286
+ * setup.cfg
1287
+ * setup.py
1288
+ - Include README into tarballs
1289
+
1290
+ 2007-01-19 Michal Ludvig <michal@logix.cz>
1291
+
1292
+ * README
1293
+ - Added comprehensive README file
1294
+
1295
+ 2007-01-19 Michal Ludvig <michal@logix.cz>
1296
+
1297
+ * setup.cfg
1298
+ * setup.py
1299
+ - Added configuration for setup.py sdist
1300
+
1301
+ 2007-01-19 Michal Ludvig <michal@logix.cz>
1302
+
1303
+ * S3/Config.py
1304
+ * s3cmd
1305
+ - Added interactive configurator (--configure)
1306
+ - Added config dumper (--dump-config)
1307
+ - Improved --help output
1308
+
1309
+ 2007-01-19 Michal Ludvig <michal@logix.cz>
1310
+
1311
+ * setup.cfg
1312
+ * setup.py
1313
+ Added info for building RPM packages.
1314
+
1315
+ 2007-01-18 Michal Ludvig <michal@logix.cz>
1316
+
1317
+ * S3/Config.py
1318
+ * S3/S3.py
1319
+ * s3cmd
1320
+ Moved class Config from S3/S3.py to S3/Config.py
1321
+
1322
+ 2007-01-18 Michal Ludvig <michal@logix.cz>
1323
+
1324
+ * S3/Config.py (from /s3py/trunk/S3/ConfigParser.py:47)
1325
+ * S3/ConfigParser.py
1326
+ * S3/S3.py
1327
+ Renamed S3/ConfigParser.py to S3/Config.py
1328
+
1329
+ 2007-01-18 Michal Ludvig <michal@logix.cz>
1330
+
1331
+ * s3cmd
1332
+ Added info about homepage
1333
+
1334
+ 2007-01-17 Michal Ludvig <michal@logix.cz>
1335
+
1336
+ * S3/S3.py
1337
+ * s3cmd
1338
+ - Use prefix for listings if specified.
1339
+ - List all commands in --help
1340
+
1341
+ 2007-01-16 Michal Ludvig <michal@logix.cz>
1342
+
1343
+ * S3/S3.py
1344
+ * s3cmd
1345
+ Major rework of Config class:
1346
+ - Renamed from AwsConfig to Config
1347
+ - Converted to Singleton (see Config.__new__() and an article on
1348
+ Wikipedia)
1349
+ - No more explicit listing of options - use introspection to get them
1350
+ (class variables that of type str, int or bool that don't start with
1351
+ underscore)
1352
+ - Check values read from config file and verify their type.
1353
+
1354
+ Added OptionMimeType and -m/-M options. Not yet implemented
1355
+ functionality in the rest of S3/S3.py
1356
+
1357
+ 2007-01-15 Michal Ludvig <michal@logix.cz>
1358
+
1359
+ * S3/S3.py
1360
+ * s3cmd
1361
+ - Merged list-buckets and bucket-list-objects operations into
1362
+ a single 'ls' command.
1363
+ - New parameter -P for uploading publicly readable objects
1364
+
1365
+ 2007-01-14 Michal Ludvig <michal@logix.cz>
1366
+
1367
+ * s3.py
1368
+ * setup.py
1369
+ Renamed s3.py to s3cmd (take 2)
1370
+
1371
+ 2007-01-14 Michal Ludvig <michal@logix.cz>
1372
+
1373
+ * s3cmd (from /s3py/trunk/s3.py:45)
1374
+ Renamed s3.py to s3cmd
1375
+
1376
+ 2007-01-14 Michal Ludvig <michal@logix.cz>
1377
+
1378
+ * S3
1379
+ * S3/S3.py
1380
+ * s3.py
1381
+ * setup.py
1382
+ All classes from s3.py go to S3/S3.py
1383
+ Added setup.py
1384
+
1385
+ 2007-01-14 Michal Ludvig <michal@logix.cz>
1386
+
1387
+ * s3.py
1388
+ Minor fix S3.utils -> S3.Utils
1389
+
1390
+ 2007-01-14 Michal Ludvig <michal@logix.cz>
1391
+
1392
+ * .svnignore
1393
+ * BidirMap.py
1394
+ * ConfigParser.py
1395
+ * S3
1396
+ * S3/BidirMap.py (from /s3py/trunk/BidirMap.py:35)
1397
+ * S3/ConfigParser.py (from /s3py/trunk/ConfigParser.py:38)
1398
+ * S3/SortedDict.py (from /s3py/trunk/SortedDict.py:35)
1399
+ * S3/Utils.py (from /s3py/trunk/utils.py:39)
1400
+ * S3/__init__.py
1401
+ * SortedDict.py
1402
+ * s3.py
1403
+ * utils.py
1404
+ Moved modules to their own package
1405
+
1406
+ 2007-01-12 Michal Ludvig <michal@logix.cz>
1407
+
1408
+ * s3.py
1409
+ Added "del" command
1410
+ Converted all (?) commands to accept s3-uri
1411
+ Added -u/--show-uri parameter
1412
+
1413
+ 2007-01-11 Michal Ludvig <michal@logix.cz>
1414
+
1415
+ * s3.py
1416
+ Verify MD5 on received files
1417
+ Improved upload of multiple files
1418
+ Initial S3-URI support (more tbd)
1419
+
1420
+ 2007-01-11 Michal Ludvig <michal@logix.cz>
1421
+
1422
+ * s3.py
1423
+ Minor fixes:
1424
+ - store names of parsed files in AwsConfig
1425
+ - Print total size with upload/download
1426
+
1427
+ 2007-01-11 Michal Ludvig <michal@logix.cz>
1428
+
1429
+ * s3.py
1430
+ * utils.py
1431
+ Added support for sending and receiving files.
1432
+
1433
+ 2007-01-11 Michal Ludvig <michal@logix.cz>
1434
+
1435
+ * ConfigParser.py
1436
+ * s3.py
1437
+ List all Objects in all Buckets command
1438
+ Yet another logging improvement
1439
+ Version check for Python 2.5 or higher
1440
+
1441
+ 2007-01-11 Michal Ludvig <michal@logix.cz>
1442
+
1443
+ * ConfigParser.py
1444
+ * s3.py
1445
+ * utils.py
1446
+ Added ConfigParser
1447
+ Improved setting logging levels
1448
+ It can now quite reliably list buckets and objects
1449
+
1450
+ 2007-01-11 Michal Ludvig <michal@logix.cz>
1451
+
1452
+ * .svnignore
1453
+ Added ignore list
1454
+
1455
+ 2007-01-11 Michal Ludvig <michal@logix.cz>
1456
+
1457
+ * .svnignore
1458
+ * BidirMap.py
1459
+ * SortedDict.py
1460
+ * s3.py
1461
+ * utils.py
1462
+ Initial import