| 1 | -- in Restore.pm: |
|---|
| 2 | # TODO: inefficient! we don't want to download the chunk from the |
|---|
| 3 | # target multiple times. better to cache it locally, or at least |
|---|
| 4 | # only fetch a region from the target (but that's still kinda inefficient |
|---|
| 5 | # and pushes complexity into the Target interface) |
|---|
| 6 | |
|---|
| 7 | -- only use tempfiles in a 0700 directory under /tmp/brackup-$USER/ or |
|---|
| 8 | wherever. or option, when using encryption, to only doing |
|---|
| 9 | in-memory tempfiles, to avoid hitting disk? |
|---|
| 10 | |
|---|
| 11 | -- <lj user=grahams>: if a file which existed when Brackup was |
|---|
| 12 | "discovering files" subsequently goes away while Brackup is working |
|---|
| 13 | it's magic (like a vim .swp file) Brackup tosses an error and bails: |
|---|
| 14 | |
|---|
| 15 | -- shouldn't backup the digest file (.brackup-digest.db) |
|---|
| 16 | |
|---|
| 17 | -- don't skip files ending in whitespace. figure out why GPG barfs. would |
|---|
| 18 | the metafile also barf, having a trailing \r or \n? |
|---|
| 19 | |
|---|
| 20 | -- "brackup-target <target> gc": find/clean orphan chunks on a target |
|---|
| 21 | from metafiles |
|---|
| 22 | |
|---|
| 23 | -- figure out how files with intenal \r or \n in filename get written |
|---|
| 24 | to metafile. need to be escaped? |
|---|
| 25 | |
|---|
| 26 | -- FUSE script to mount a *.brackup file |
|---|
| 27 | |
|---|
| 28 | -- tool to clean digestcache, based on prefixes, looking for files that no longer |
|---|
| 29 | exist or have new mtimes, etc? or keep track of "last used" date |
|---|
| 30 | field in the digestcache and just delete things that are too old? |
|---|
| 31 | but then no longer just a dictionary. SQLite would work, but we'd ideally |
|---|
| 32 | like lots of dumber cache mechanisms. maybe a ->clean method is optional? |
|---|
| 33 | then a memcached backend/etc doesn't have to use it. |
|---|
| 34 | |
|---|
| 35 | -- Tools to rebuild your inventory database from the target's enumeration |
|---|
| 36 | of its chunks and the target's *.brackup metafiles isn't yet done, but |
|---|
| 37 | would be pretty easy. |
|---|
| 38 | |
|---|
| 39 | -- ionice stuff. network nice stuff. |
|---|
| 40 | |
|---|
| 41 | -- make tests pass without 'noatime' mount option |
|---|
| 42 | |
|---|
| 43 | -- --ignore-debian-files option (if managed by a package management |
|---|
| 44 | system (and not an unmodified conffile), don't back it up) |
|---|
| 45 | |
|---|
| 46 | -- reuse tempfiles in Chunk.pm as Restore.pm does |
|---|
| 47 | |
|---|
| 48 | -- restoring from existing config file. |
|---|
| 49 | |
|---|
| 50 | -- better test coverage. currently at 84%. should ignore |
|---|
| 51 | test coverage of test modules. move Brackup::Test to |
|---|
| 52 | t/lib/ probably |
|---|
| 53 | |
|---|
| 54 | -- should do TODOs in code. :) |
|---|