diff --git a/TODO b/TODO new file mode 100644 index 0000000..acc751f --- /dev/null +++ b/TODO @@ -0,0 +1,99 @@ + + +Put explicit length constraints on new target names: + + 0 < len(name) < some max value + +Consider making -x interact with -c and -g + +Check all examples in the doc. + +Test on Windows and Linux. + + +Documentation +------------- + + +- Get rid of the toggles and their associated docs having to do with + resetting options to their default state. No longer needed now that + we're not allowing option-target pairs. + +- -v now continues after displaying results. This allows it + to go into log outputs. + +- Note that multiple items sharing the same sequencing key (ctime, + size) will be ordered alphabetically within that key. + +- Change -f description to indicate that it will merely rename (not + remove) the existing target. + +- Document -S (Default: ".backup") + +- Note limit of total new filename length is 255. + +- Document -w linelength option. Default: 80. Program determines + min output length. ONLY for error and info output (which can + be long). Ordinary program output like usage and version info + ignores this. If capturing for log/analysis, set this very wide. + +- Get rid of references to option-target pairs. Note that from the + first non-option string forward, everything is understood to be + a filename even if it is in -option format. + +- Document -R rensep - single char + +- Document, all the stat-based sequences as well as alpha asc- desc- + +- Note importance of doing -d last, right before filename args to + get most current state of prog. + +- Note that '\' may itself have to be escaped on the shell command line. + +- Note the -E only applies during renaming operations. Other errors will + halt program. + +- Changed option -1 to -G + +- -r =something -> entire target name is replaced by "something" + -r something= -> "something" is removed from the target name + +- Note that twander can be used as a GUI frontend for tren. + +- Note the use of docutils/resturctured text in producing the docs. + +- Document -P escape single char. + +- Changed option -l to -L. + +- Document overlapping renames: + + - Because of overlapping substitutions + + Note specific multi-rename semantics disjoint, overlapping, reduced + string length. + + - Because of filename collisions + + Note the potential problem of: + + Rename: x -> x1 causes existing to be renamed x1.backup + + Now a rename of x1 -> z1 still works *but we're renaming a different file* (originally x) + + Do this repeatedly and you'll wipe out all but the last file and backup + +- Backups can be backed up: + + foo.backup.backup.backup... + +- Note that -q clobbers ALL informational output, even during test + runs: -qt does not make sense + +- The whole name/extension distinction has been removed. The eliminates the following options: + + -a + -b + -e + -L +