TODO for VCP

*NOTE* Doing a `grep -r TODO lib bin` will find lots of small things and
future feature ideas.  This file will grow to include the more important
of those.

- Bugfixes
  - Prevent keyword expansion on all checkouts.  Found by
    Thomas Quinot <quinot@inf.enst.fr>
  - Check for p4 >= 99.2 at runtime, since filelog -m is needed
  - Carry executable bit through (Nick Ing-Simmons)
  - Make <rev_root> and <name> escape their characters
  - VCP::Dest::cvs needs to set the binary mode properly on files it creates
    and checks in
  - VCP::Source::cvs needs to deduce binary modes correctly
  - Make test suite use an alternate port for p4d so multiple make test
    instances can be run in parallel
  - Make test suite skip cvs tests if cvs is not present (like it skips p4
    tests if p4 is not present).

- Feature Adds
  - Need to make the transfers more transactional, so we can recover from where
    we left off when something fails.
  - Need to save some sort of state as to where the last export ended so the
    next one can start from there.
  - Offer compressed output for revml files a la tar's "z" option.
  - Consider offering <char code=0x00 repeat=34234> (david d zuhn
    <zoo@bravara.com>)
  - Perhaps allow keyword expansion, but convert the expanded texts
    so that they are no longer seens as RCS style keywords.  This would
    allow imported files to have a "stamp of origin" in them.  Would
    also need an option to leave the keywords in place in this case, since
    the user might presumably want expansion to work correctly in the
    new repository too.  Suggested by Thomas Quinot <quinot@inf.enst.fr>.
  - Add a link checker to vcp html
  - An option to not bring over deleted files Steve James <SJames@ariba.com>
  - A report destination that offers a preview of what a transfer
    will do, with summary and long views.
  - An option to prefix all labels with some user-defined string Steve James
    <SJames@ariba.com>
  - Limit the number of NtLkLy queries per command to prevent server lockup.
    Steve James <SJames@ariba.com>  (possibly URGENT, need to test).



- Efficiency
  - The cvs drivers can be made faster
  - VCP::Source::revml should only reconstitute what it needs in order
    to conserve disk space.

- Tests
  - rerooting revml->p4 to someplace deep in the p4 tree, to make sure that VCP
    is configuring p4 to map the files to the right place.
