
TODO list for svndumptool
=========================

Bugs:

 * export: check that -d works.
 * check: check that copy-from revision < current revision.
 * merge: leading slash for -x doesn't work.
 * possible problems with cvs2svn created dumps and copied path's:
    - merge: mkdir exclude may fail
    - check: may output false negatives
    - diff: may output wrong diffs of node kind
 * check: It's not an error if the date of r0 is after the date of r1
   so it should not complain (maybe just warn).
 * merge: Handling of revprops of revision 0? May apply to other cmds too.
 * file.py: Error if UUID is missing in VSS2SVN created dumps.


Cleanup and possible bugs:
 * Cleanup temp files: Make sure a temp file is not deleted as long as it
   is still used (can multiple nodes have the same temp file?).
 * Cleanup sanitize: better handling of temp files.
 * Transform-[rev]prop: Use re.sub() function.
 * check: Use node.get_kind() in history code, a few places use
   nodehist[0][0] to get the kind but should be only nodehist[0].
 * Improve help texts, add short description like svn, add some longer
   help texts, f.ex. --long-help or --example or ...
 * Output all errors to stderr (even help text caused by an error).
 * Output an error if an unknown command is requested.
 * ls: Directorys should have a trailing / when output.


Features:

 * Add an option for setting the date of rev 0 when merging.
 * Eolfix dryrun should check EOL's.
 * Merge: make the root renamable too.
 * Check that svn:date and __rev_date are always the same.
 * Move tests from svndumptest.py into a package and add more tests...
 * Output an error if a file exists that should be opened for writing.
 * Edit: Add some more modifications. e.g. regex filename support, propset...
 * Add support for sha1?
 * Make export smarter. Now it wants the exact path and revision of a file.
   The UI should also be improved. Add support for exporting dirs.
 * Where applicable REV should accept HEAD and do the right thing.


Ideas:

 * New command 'filter', same as svndumpfilter.
 * Make an abstract base class for SvnDumpFile (maybe SvnDumpReader)
   and make SvnDumpMerge, SvnDumpEolFix, SvnDumpFilter and SvnDumpEdit
   subclasses of it. Those commands can then be chained, something like:
   SvnDumpFile -> SvnDumpEolFix -> copy_dump_file()
 * Streamy versions of SvnDumpFile and SvnDumpNode (stdin/stdout).
 * Add rev-prop support to transform-prop, remove transform-revprop.

