-
-
Notifications
You must be signed in to change notification settings - Fork 905
/
TODO
46 lines (41 loc) · 1.91 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
TODO list for s3cmd project
===========================
- For 0.9.9.x
- Make 'sync s3://bkt/some-filename local/other-filename' work
(at the moment it'll always download).
- Enable --exclude for [del], [setacl], [ls].
- Enable --dry-run for [del], [setacl], reject for all others.
- Recursive cp/mv on remote "folders".
- 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.
- For 1.0.0
- Add 'geturl' command, both Unicode and urlencoded output.
- After 1.0.0
- 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).
- Sync must backup non-files as well. At least directories,
symlinks and device nodes.
- 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.
- 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).
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.
- Keep man page up to date and write some more documentation
- Yeah, right ;-)