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.