- 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
- - 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.
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 1375 | Sean McCune | Creating my own branch for work on vcp. | 23 years ago | |
//guest/perforce_software/revml/TODO | |||||
#9 | 1367 | Barrie Slaymaker | lots of docco updates | 23 years ago | |
#8 | 1358 | Barrie Slaymaker | Win32 changes | 23 years ago | |
#7 | 1330 | Barrie Slaymaker | Ignore cvs lock mgmt warnings in VCP::Source::cvs. | 23 years ago | |
#6 | 824 | Barrie Slaymaker | Fix p4 backfilling path math to not mangle paths. | 24 years ago | |
#5 | 719 | Barrie Slaymaker | vcp 0.221 | 24 years ago | |
#4 | 695 | Barrie Slaymaker | Cleaned up support for binary files in VCP::Dest::revml and altered test suite to deal wi...th it better. Added some thoughts to the TODO file. « |
24 years ago | |
#3 | 628 | Barrie Slaymaker | Cleaned up POD in bin/vcp, added BSD-style license. | 24 years ago | |
#2 | 620 | Barrie Slaymaker |
Underscorify CVS tags, only warn about undeleted files if debugging. |
24 years ago | |
#1 | 478 | Barrie Slaymaker | 0.05 Mon Dec 18 07:27:53 EST 2000 - Use `p4 labels //...@label` command as p...er 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. « |
24 years ago |