TODO #2

  • //
  • guest/
  • marc_tooley/
  • util/
  • revml/
  • TODO
  • Commits
# Change User Description Committed
#2 28901 marc_tooley ""
#1 5835 marc_tooley VCP branch to prep for incoming bugfixes for the Source/svn.pm module.
//guest/perforce_software/revml/TODO
#105 5404 Barrie Slaymaker - SVN support added
- Makefile gives clearer notices about missing optional
  prereqs.
- VCP::Filter::labelmap and VCP::Filter::map: <<skip>> replaces
  deprecated <<delete>> to be clearer that no revisions
  are deleted from either repository but some just are
  skipped and not inserted.
- VCP::Filter::map: support added for SVN-like branch labels
- VCP::Source: support added for ISO8601 timestamps
  emitted by SVN.
#104 5344 Barrie Slaymaker - Add test for time parsing fixed bug in VCP::Source.
#103 4557 Barrie Slaymaker - VCP::Source::p4 uses "filelog -t" if p4d >= 2002.2
#102 4513 Barrie Slaymaker - <earlier_id> need noted in TODO
#101 4507 Barrie Slaymaker - RevML:
    - added <action>, removed <delete>, <placeholder> and <move>
    - added <from_id> for clones (and eventually merge actions)
    - Simplified DTD (can't branch DTD based on which action
      any more)
- VCP::Source::cvs, VCP::Filter::changesets and VCP::Dest::p4
  support from_id in <action>clone</action> records
- VCP::Dest::perl_data added
- VCP::Rev::action() "branch" added, no more undefined action
  strings
- "placeholder" action removed
#100 4495 Barrie Slaymaker - record some ideas to better handle VSS branching perfidy
#99 4481 Barrie Slaymaker - VCP::Filter::map calls skip_rev when deleting a rev (spotted by clkao)
#98 4467 Barrie Slaymaker - Noted need to execute cleanup code in END{} in a stable order
#97 4305 Barrie Slaymaker - Note FreeBSD unexpected output failure
#96 4175 Matt Attaway Update with purged revision bug
#95 4086 Barrie Slaymaker - TODO list updated
#94 4038 Barrie Slaymaker - TODO cleaned up
#93 3993 Barrie Slaymaker - Fold in changes from clkao's SVN work
#92 3930 Barrie Slaymaker - VCP::Source::cvs and VCP::Dest::p4 handle cloning deletes
- "placeholder" actions and is_placeholder_rev() deprecated in
  favor of is_branch_rev() and is_clone_rev().
- Misc cleanups and minor bugfixes
#91 3858 Barrie Slaymaker - Final tweaks for 0.5 release
#90 3814 Barrie Slaymaker - TODO items cleaned up a bit
#89 3781 Barrie Slaymaker - Note some testing TODOs
#88 3752 Barrie Slaymaker - TODO: --cd testing, renaming
#87 3720 Barrie Slaymaker - Note some future feature adds in TODO
#86 3692 Barrie Slaymaker - assert_eq() is deprecated
#85 3681 Barrie Slaymaker - VCP now scans much more of real_vss_1 and converts it to revml
#84 3679 Barrie Slaymaker - VCP::Source::vss respects --case-sensitive in more places
#83 3673 Barrie Slaymaker - rev_root sanity check is now case insensitive on Win32
#82 3670 Barrie Slaymaker - Note new TODO
#81 3666 Barrie Slaymaker - vcp can now edit existing .vcp files, for VSS sources and revml dests
#80 3659 Barrie Slaymaker - Minor merges from crashed HD
#79 3554 John Fetkovich added p42cvs_default_filters sub.
 Corrected documentation.
#78 3533 John Fetkovich remove completed rel2abs items
#77 3520 John Fetkovich add item
#76 3484 John Fetkovich fix a prompt name
#75 3483 John Fetkovich removed done item
#74 3482 John Fetkovich done item removed
#73 3468 Barrie Slaymaker - get --output-config-file working with ui (if ui completes,
  which may not happen if the user enters invalid input).
- Note various UI issue in TODO.
#72 3460 Barrie Slaymaker - Revamp Plugin/Source/Dest hierarchy to allow for
  reguritating options in to .vcp files
#71 3434 Barrie Slaymaker Note important testing TODOs
#70 3432 Barrie Slaymaker - "p4 print" to "p4 sync"
#69 3413 Barrie Slaymaker - Delete some completed TODOs
- Note s/$^O.*Win32/is_win32()/g cleanup needed
#68 3405 John Fetkovich added item
#67 3401 Barrie Slaymaker - Note that VCP::Source::cvs should deal gracefully with
  "/module" (as opposed to "module")
#66 3395 John Fetkovich various ui refinements
#65 3392 Barrie Slaymaker Note TODO to document need for VSS cleanup prior to conversion
#64 3375 John Fetkovich more ui changes
#63 3372 Barrie Slaymaker Note gerry's concerns about UI as must-do items
#62 3336 Barrie Slaymaker Add API TODO to add RunWait() calls
#61 3222 Barrie Slaymaker HTML build process tweak TODO
#60 3180 Barrie Slaymaker Add to TODOs
#59 3098 Barrie Slaymaker Convert all length p4 command line calls to us p4 -x -.
       All hail p4 -x -.
#58 3088 Barrie Slaymaker Note p4->cvs problem
#57 3078 Barrie Slaymaker Note more CVS oddities we really should be testing for but
       aren't.
#56 3066 Barrie Slaymaker Set time correctly on integrate and pre-delete add
       changes.
#55 3060 Barrie Slaymaker Note arglist too long error in p4->p4 conversion
#54 3048 Barrie Slaymaker Note some tweaks
#53 3030 Barrie Slaymaker Note cleanup needed for placeholder revs on empty branches
       for CVS.
#52 3021 Barrie Slaymaker Force integrate to branch from proper revision and allow
       it to branch from the predecessor of a deleted file (CVS
       allows file deletes).
#51 3009 John Fetkovich removed completed TODO item
#50 3007 Barrie Slaymaker Read CVS vendor branche tags
#49 3006 Barrie Slaymaker Note the bugs Gerry found.
#48 2954 John Fetkovich removed completed item
#47 2917 Barrie Slaymaker Reorganize TODO
#46 2911 Barrie Slaymaker Document changes, add a few TODOs
#45 2898 Barrie Slaymaker More TODO
#44 2861 Barrie Slaymaker Note need to test -r and -d options.
#43 2838 John Fetkovich Use parse_options rather than using Getopt::Long directly.
#42 2823 John Fetkovich removed already done item
#41 2809 Barrie Slaymaker Implement --repo-id in Plugin.pm, refactor source & dest
       options parsing starting in VCP::Source::cvs (need to
       roll out to other sources and dests), get t/91cvs2revml.t
       passing again (first time in months! branching and
       --continue support works in cvs->foo!).
#40 2802 John Fetkovich Added a source_repo_id to each revision, and repo_id to each
Source and Dest.  The repo_ids include repository type
(cvs,p4,revml,vss,...) and the repo_server fields.  Changed the
$self->...->set() and $self->...->get() lines in VCP::Dest::* to
pass in a conglomerated key value, by passing in the key as an
ARRAY ref.  Also various restructuring in VCP::DB.pm,
VCP::DB_file.pm and VCP::DB_file::sdbm.pm related to this
change.
#39 2776 Barrie Slaymaker Note need to test -r in test suite.
#38 2775 Barrie Slaymaker Note possible future culling improvement
#37 2773 Barrie Slaymaker TODO
#36 2772 Barrie Slaymaker TODO
#35 2771 Barrie Slaymaker Note need for source_repo_id in each rev & what to do with it
#34 2768 John Fetkovich Allow revml to be output in non-indented form with --no-indent
       option on dest::revml
#33 2764 John Fetkovich add --compress switch to dest::revml
       add --uncompress switch to source::revml

       use gzip to compress/uncompress revml files
#32 2763 John Fetkovich test a rerooted 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.
#31 2758 John Fetkovich Check contents of t/cvsroot_2 in t/91revml2cvs.t
#30 2755 John Fetkovich Completed coversion of tests to IPC::Run3
#29 2746 Barrie Slaymaker Make current and flag things that are now feasible
#28 2721 Barrie Slaymaker VCP::Dest::p4 now uses RevMapDB
#27 2707 Barrie Slaymaker todo items
#26 2706 Barrie Slaymaker Interim checkin
#25 2682 Barrie Slaymaker more underscorification documentation.
#24 2307 Barrie Slaymaker get VCP::Filter::map working, update docs
#23 2293 Barrie Slaymaker Update CHANGES, TODO, improve .vcp files, add --init-cvs
#22 2281 Barrie Slaymaker foo
#21 2267 Barrie Slaymaker factor out cvs2revml, test both --use-cvs and direct modes, with times
#20 2242 Barrie Slaymaker add forthcoming p4 filelog -t
#19 2233 Barrie Slaymaker debug
#18 2229 Barrie Slaymaker reminders to self
#17 2042 Barrie Slaymaker Basic source::p4 branching support
#16 2017 Barrie Slaymaker Interim checkin of id=/base_version_id for revml: and
       branch_diagram:
#15 2009 Barrie Slaymaker lots of fixes, improve core support for branches and VCP::Source::cvs
       now supports branches.
#14 2006 Barrie Slaymaker more preparations for branching support,
       handling of cvs :foo:... CVSROOT specs,
       misc fixes, improvements
#13 2005 Barrie Slaymaker Add code cleanup note
#12 1855 Barrie Slaymaker Major VSS checkin.
 Works on Win32
#11 1809 Barrie Slaymaker VCP::Patch should ignore lineends
#10 1448 Barrie Slaymaker suggestions for NtLkly hack cleanups, reporting.
#9 1367 Barrie Slaymaker lots of docco updates
#8 1358 Barrie Slaymaker Win32 changes
#7 1330 Barrie Slaymaker Ignore cvs lock mgmt warnings in VCP::Source::cvs.
#6 824 Barrie Slaymaker Fix p4 backfilling path math to not mangle paths.
#5 719 Barrie Slaymaker vcp 0.221
#4 695 Barrie Slaymaker Cleaned up support for binary files in VCP::Dest::revml and
altered test suite to deal with it better.  Added some thoughts
to the TODO file.
#3 628 Barrie Slaymaker Cleaned up POD in bin/vcp, added BSD-style license.
#2 620 Barrie Slaymaker Underscorify CVS tags, only warn about undeleted files if
debugging.
#1 478 Barrie Slaymaker 0.05 Mon Dec 18 07:27:53 EST 2000
   - Use `p4 labels //...@label` command as per Rober Cowham's suggestion, with
     the '-s' flag recommended by Christopher Siewald and
     [email protected].  Though it's actually something like

       vcp: running /usr/bin/p4 -u safari -c safari -p localhost:5666 -s files
       //.../NtLkly //...@compiler_a3 //.../NtLkly //...@compiler_may3

     and so //on //for 50 parameters to get the speed up.  I use the
     //.../NtLkly "file" as //a separator between the lists of files in various
     //revisions.  Hope nobody has any files named that :-).  What I should do
     is choose a random label that doesn't occur in the labels list, I guess.
   - VCP::Source::revml and VCP::Dest::revml are now binary, control code, and
     "hibit ASCII" (I know, that's an oxymoron) clean.  The <comment>, <delta>,
     and <content> elements now escape anything other than tab, line feed,
     space, or printable chars (32 <= c <= ASCII 126) using a tag like '<char
     code="0x09">'.  The test suite tests all this.  Filenames should also
     be escaped this way, but I didn't get to that.
   - The decision whether to do deltas or encode the content in base64 is now
     based on how many characters would need to be escaped.
   - We now depend on the users' diff program to have a "-a" option to force it
     to diff even if the files look binary to it.  I need to use Diff.pm and
     adapt it for use on binary data.
   - VCP::Dest::cvs now makes sure that no two consecutive revisions of the
     same file have the same mod_time.  VCP::Source::p4 got so fast at pulling
     revisions from the repositories the test suite sets up that CVS was not
     noticing that files had changed.
   - VCP::Plugin now allows you to set a list of acceptable result codes, since
     we now use p4 in ways that make it return non-zero result codes.
   - VCP::Revs now croaks if you try to add two entries of the same VCP::Rev
     (ie matching filename and rev_id).
   - The <type> tag is now limited to "text" or "binary", and is meant to
     pass that level of info between foreign repositories.
   - The <p4_info> on each file now carries the one line p4 description of
     the file so that p4->p4 transferes can pick out the more detailed
     info.  VCP::Source::p4, VCP::Dest::p4 do this.
   - VCP::{Source,Dest}::{p4,cvs} now set binaryness on added files properly,
     I think.  For p4->p4, the native p4 type is preserved.  For CVS sources,
     seeing the keyword substitution flag 'o' or 'b' implies binaryness, for
     p4, seeing a filetype like qr/u?x?binary/ or qr/x?tempobj/ or "resource"
     implies binaryness (to non-p4 destinations).  NOTE: Seeing a 'o' or 'b'
     in a CVS source only ends up setting the 'b' option on the destination.
     That should be ok for most uses, but we can make it smarter for cvs->cvs
     transfers if need be.