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 - Clean up revs when erroring out of a source or dest (Matt Attaway) - 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 - 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. - Efficiency - The cvs drivers can be made faster
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#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 Amaury.FORGEOTDARC@atsm.fr. 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. |