# | 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/lib/VCP/Rev.pm | |||||
#78 | 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. |
||
#77 | 5086 | Barrie Slaymaker |
- Prevent infinite recursion in as_string so VCP_DEBUG=1 and partially constructed revs in test suite don't cause infinite recursion. |
||
#76 | 5082 | Barrie Slaymaker |
- VCP::Source tells VCP::Rev to uncache the source to allow the source instance to be DESTROYed and thus clean up its working files. |
||
#75 | 4514 | Barrie Slaymaker | - VCP::Rev::earlier_ids and <release_id> added | ||
#74 | 4511 | Barrie Slaymaker | - iso8691 formatted time returns undef when passed in an undef | ||
#73 | 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 |
||
#72 | 4487 | Barrie Slaymaker | - dead code removal (thanks to clkao's coverage report) | ||
#71 | 4077 | Barrie Slaymaker |
- VCP on Win32 no longer whines about permission denied errors for some disk file cleanup tasks. |
||
#70 | 4021 | Barrie Slaymaker |
- Remove all phashes and all base & fields pragmas - Work around SWASHGET error |
||
#69 | 4012 | Barrie Slaymaker | - Remove dependance on pseudohashes (deprecated Perl feature) | ||
#68 | 3970 | Barrie Slaymaker |
- VCP::Source handles rev queing, uses disk to reduce RAM - Lots of other fixes |
||
#67 | 3942 | Barrie Slaymaker | - ChangeSets now passes tests | ||
#66 | 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 |
||
#65 | 3850 | Barrie Slaymaker | - No longer stores all revs in memory | ||
#64 | 3827 | Barrie Slaymaker | - VCP::Rev supports better debugging and csv-ification | ||
#63 | 3817 | Barrie Slaymaker | - Minor reformatting & error identification | ||
#62 | 3813 | Barrie Slaymaker | - VCP::Rev::previous() is no more | ||
#61 | 3811 | Barrie Slaymaker | - fetch_*() and get_rev() renamed get_source_file() | ||
#60 | 3804 | Barrie Slaymaker | - Refactored to prepare way for reducing memory footprint | ||
#59 | 3775 | Barrie Slaymaker | - VCP::Rev now support serialization/deserialization | ||
#58 | 3769 | Barrie Slaymaker | - avg_comment_time sort key removed | ||
#57 | 3755 | Barrie Slaymaker | - VCP::Rev dies if an empty label is set | ||
#56 | 3737 | Barrie Slaymaker |
- Missing / empty data fields other than branch_id no longer affect changeset aggregation - Needed for VSS, which lacks time information on deletes - If all revs have change_ids, they are now sorted by change_id and name (as opposed to change_id, rev_id) - VCP::Rev::sort_time() removed - VCP::Filter::changesets has better debugging - TestUtils now dumps large diffs |
||
#55 | 3704 | Barrie Slaymaker | - Whitespace tweaked | ||
#54 | 3680 | Barrie Slaymaker | - Comments are more properly escaped in debugging messages | ||
#53 | 3496 | Barrie Slaymaker | - VSS branching | ||
#52 | 3475 | Barrie Slaymaker | - Add VCP::Dest::data_dump | ||
#51 | 3441 | Barrie Slaymaker | - Add some debugging code | ||
#50 | 3155 | Barrie Slaymaker |
Convert to logging using VCP::Logger to reduce stdout/err spew. Simplify & speed up debugging quite a bit. Provide more verbose information in logs. Print to STDERR progress reports to keep users from wondering what's going on. Breaks test; halfway through upgrading run3() to an inline function for speed and for VCP specific features. |
||
#49 | 3133 | Barrie Slaymaker |
Make destinations call back to sources to check out files to simplify the architecture (is_metadata_only() no longer needed) and make it more optimizable (checkouts can be batched). |
||
#48 | 3127 | Barrie Slaymaker | Minor cleanups. | ||
#47 | 3117 | Barrie Slaymaker |
Cut over to faster VCP::Rev::new, remove symbolic method calls. |
||
#46 | 3116 | Barrie Slaymaker | Cleanup, test tweaks | ||
#45 | 3115 | Barrie Slaymaker |
Move sorting function to the new VCP::Filter::sort; it's for testing and reporting only and the code was bloating VCP::Dest and limiting VCP::Rev and VCP::Dest optimizations. Breaks test suite in minor way. |
||
#44 | 3112 | Barrie Slaymaker |
Reduce memory footprint when handling large numbers of revisions. |
||
#43 | 3110 | Barrie Slaymaker | Optimize label handling. | ||
#42 | 3106 | Barrie Slaymaker |
Remove an unused field (state) from VCP::Rev optimize and bugfix labelmap |
||
#41 | 3096 | Barrie Slaymaker | Tuning | ||
#40 | 3086 | Barrie Slaymaker |
Optimize change aggregation from something like O(N^2) down to something more reasonable. Noticable only on large transfers. |
||
#39 | 3073 | Barrie Slaymaker | Improve debugging output | ||
#38 | 3060 | Barrie Slaymaker | Note arglist too long error in p4->p4 conversion | ||
#37 | 3049 | Barrie Slaymaker |
Fix minor bug that caused lots of failing tests (undef branch_id handling). |
||
#36 | 3047 | Barrie Slaymaker | Fold branch_ids, improve debug & error (as_string()) output. | ||
#35 | 3038 | Barrie Slaymaker | Get proper identification of founding revisions implemented. | ||
#34 | 3027 | Barrie Slaymaker | VCP::Filter::labelmap | ||
#33 | 2972 | Barrie Slaymaker | Interim checkin | ||
#32 | 2935 | John Fetkovich | added empty() calls | ||
#31 | 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. |
||
#30 | 2743 | John Fetkovich |
Add fields to vcp: source_name, source_filebranch_id, source_branch_id, source_rev_id, source_change_id 1. Alter revml.dtd to include the fields 2. Alter bin/gentrevml to emit legal RevML 3. Extend VCP::Rev to have the fields 4. Extend VCP::{Source,Dest}::revml to read/write the fields (VCP::Dest::revml should die() if VCP tries to emit illegal RevML) 5. Extend VCP::{Source,Dest}::{cvs,p4} to read the fields 7. Get all tests through t/91*.t to pass except those that rely on ch_4 labels |
||
#29 | 2725 | Barrie Slaymaker | Start using HeadRevs.pm. | ||
#28 | 2372 | John Fetkovich | Remove time, sort_time methods, allow them to be autogenerated. | ||
#27 | 2357 | John Fetkovich | removed debugging message left in BEGIN block. | ||
#26 | 2356 | John Fetkovich |
Changed BEGIN block so all accessor functions autogenerated in a single eval, rather than individually. |
||
#25 | 2340 | Barrie Slaymaker | Update manifest, comment out some debugging stuff in VCP::Rev | ||
#24 | 2245 | Barrie Slaymaker | cvs -r (re)implemented for direct reads, passes all cvs-only tests | ||
#23 | 2241 | Barrie Slaymaker | RCS file scanning improvements, implement some of -r | ||
#22 | 2240 | Barrie Slaymaker | Start on cvs -r option support. | ||
#21 | 2233 | Barrie Slaymaker | debug | ||
#20 | 2232 | Barrie Slaymaker | Major memory and sort speed enhancements. | ||
#19 | 2154 | Barrie Slaymaker | Speed up sorting | ||
#18 | 2042 | Barrie Slaymaker | Basic source::p4 branching support | ||
#17 | 2026 | Barrie Slaymaker | VCP::8::cvs now supoprt branching | ||
#16 | 2017 | Barrie Slaymaker |
Interim checkin of id=/base_version_id for revml: and branch_diagram: |
||
#15 | 2015 | Barrie Slaymaker | submit changes | ||
#14 | 1998 | Barrie Slaymaker | Initial, revml and core VCP support for branches | ||
#13 | 1855 | Barrie Slaymaker |
Major VSS checkin. Works on Win32 |
||
#12 | 1822 | Barrie Slaymaker |
Get all other tests passing but VSS. Add agvcommenttime sort field. |
||
#11 | 1809 | Barrie Slaymaker | VCP::Patch should ignore lineends | ||
#10 | 1756 | Barrie Slaymaker | Extend VCPNODELETE to revs' cleanup | ||
#9 | 1358 | Barrie Slaymaker | Win32 changes | ||
#8 | 1055 | Barrie Slaymaker |
add sorting, revamp test suite, misc cleanup. Dest/revml is not portable off my system yet (need to release ...::Diff) |
||
#7 | 628 | Barrie Slaymaker | Cleaned up POD in bin/vcp, added BSD-style license. | ||
#6 | 620 | Barrie Slaymaker |
Underscorify CVS tags, only warn about undeleted files if debugging. |
||
#5 | 608 | Barrie Slaymaker |
Lots of changes to get vcp to install better, now up to 0.066. Many thanks to Matthew Attaway for testing & suggestions. |
||
#4 | 480 | Barrie Slaymaker |
0.06 Wed Dec 20 23:19:15 EST 2000 - bin/vcp: Added --versions, which loads all modules and checks them for a $VERSION and print the results out. This should help with diagnosing out-of-sync modules. - Added $VERSION vars to a few modules :-). Forgot to increment any $VERSION strings. - VCP::Dest::cvs: The directory "deeply" was not being `cvs add`ed on paths like "a/deeply/nested/file", assuming "deeply" had no files in it. - VCP::Dest::revml: fixed a bug that was causing files with a lot of linefeeds to be emitted in base64 instead of deltaed. This means most text files. - Various minor cleanups of diagnostics and error messages, including exposing "Can't locate Foo.pm" when a VCP::Source or VCP::Dest module depends on a module that's not installed, as reported by Jeff Anton. |
||
#3 | 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. |
||
#2 | 468 | Barrie Slaymaker |
- VCP::Dest::p4 now does change number aggregation based on the comment field changing or whenever a new revision of a file with unsubmitted changes shows up on the input stream. Since revisions of files are normally sorted in time order, this should work in a number of cases. I'm sure we'll need to generalize it, perhaps with a time thresholding function. - t/90cvs.t now tests cvs->p4 replication. - VCP::Dest::p4 now doesn't try to `p4 submit` when no changes are pending. - VCP::Rev now prevents the same label from being applied twice to a revision. This was occuring because the "r_1"-style label that gets added to a target revision by VCP::Dest::p4 could duplicate a label "r_1" that happened to already be on a revision. - Added t/00rev.t, the beginnings of a test suite for VCP::Rev. - Tweaked bin/gentrevml to comment revisions with their change number instead of using a unique comment for every revision for non-p4 t/test-*-in-0.revml files. This was necessary to test cvs->p4 functionality. |
||
#1 | 467 | Barrie Slaymaker | Version 0.01, initial checkin in perforce public depot. |