Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
53 lines (48 sloc) 2.45 KB
TODO list for s3cmd project
- Before 1.0.0 (or asap after 1.0.0)
- Make 'sync s3://bkt/some-filename local/other-filename' work
(at the moment it'll always download).
- Enable --exclude for [ls].
- Allow change /tmp to somewhere else
- With --guess-mime use 'magic' module if available.
- Support --preserve for [put] and [get]. Update manpage.
- Don't let --continue fail if the file is already fully downloaded.
- Option --mime-type should set mime type with 'cp' and 'mv'.
If possible --guess-mime-type should do as well.
- Make upload throttling configurable.
- Allow removing 'DefaultRootObject' from CloudFront distributions.
- Get s3://bucket/non-existent creates empty local file 'non-existent'
- Add 'geturl' command, both Unicode and urlencoded output.
- Add a command for generating "Query String Authentication" URLs.
- Support --acl-grant (together with --acl-public/private) for [put] and [sync]
- Filter 's3cmd ls' output by --bucket-location=
- After 1.0.0
- Sync must backup non-files as well. At least directories,
symlinks and device nodes.
- Speed up upload / download with multiple threads.
- Sync should be able to update metadata (UID, timstamps, etc)
if only these change (i.e. same content, different metainfo).
- If GPG fails error() and exit. If un-GPG fails save the
file with .gpg extension.
- Keep backup files remotely on put/sync-to if requested
(move the old 'object' to e.g. 'object~' and only then upload
the new one). Could be more advanced to keep, say, last 5
copies, etc.
- Memory consumption on very large upload sets is terribly high.
- Implement per-bucket (or per-regexp?) default settings. For
example regarding ACLs, encryption, etc.
- Implement GPG for sync
(it's not that easy since it won't be easy to compare
the encrypted-remote-object size with local file.
either we can store the metadata in a dedicated file
where we face a risk of inconsistencies, or we'll store
the metadata encrypted in each object header where we'll
have to do large number for object/HEAD requests. tough
Or we can only compare local timestamps with remote object
timestamps. If the local one is older we'll *assume* it
hasn't been changed. But what to do about remote2local sync?
- Keep man page up to date and write some more documentation
- Yeah, right ;-)
Jump to Line
Something went wrong with that request. Please try again.