TODO
65a7c0f6
 TODO list for s3cmd project
 ===========================
 
59864e57
 - For 0.9.9.x
   - Make 'sync s3://bkt/some-filename local/other-filename' work
     (at the moment it'll always download).
c74f3dfe
   - Enable --exclude for [ls].
8d63b2bc
   - Allow change /tmp to somewhere else
319b1b88
   - With --guess-mime use 'magic' module if available.
01a80524
   - 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.
bc886ff8
   - Skip files that disapper during upload. Now it fails.
1a602974
   - Make upload throttling configurable.
8d63b2bc
 
 - For 1.0.0
42320d03
   - Add 'geturl' command, both Unicode and urlencoded output.
1a602974
   - Add a command for generating "Query String Authentication" URLs.
   - Add a command for setting up access logging.
06481a4a
 
 - After 1.0.0
   - Speed up upload / download with multiple threads.
1e2d476a
   - Sync should be able to update metadata (UID, timstamps, etc)
     if only these change (i.e. same content, different metainfo).
   - Sync must backup non-files as well. At least directories, 
     symlinks and device nodes.
6541c835
   - If GPG fails error() and exit. If un-GPG fails save the 
     file with .gpg extension.
c686da51
   - 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 
42320d03
      copies, etc.
bc886ff8
   - Memory consumption on very large upload sets is terribly high.
1a602974
   - Implement per-bucket (or per-regexp?) default settings. For
     example regarding ACLs, encryption, etc.
65a7c0f6
 
 - 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 
    call).
1e2d476a
   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.
65a7c0f6
 
7393bdba
 - Keep man page up to date and write some more documentation
   - Yeah, right ;-)