# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 4579 | Tony Smith |
Rewrite P4Perl to be more like P4Ruby. This change does away with the old P4/P4::Client split and pulls all the functionality of P4::Client into P4. Hence P4::Client is now deprecated. There are a few gotcha's - see the Changes file, and documentation for the details, but in general it's backwards compatible. As part of this change, I'm also releasing the previous current versions of P4 and P4::Client as released versions - for posterity. P4 now gets a v3.x version number so the old versions will stand out clearly. Hopefully it's all working - works fine for me - but people should consider this a beta build, for now at least. |
||
//guest/tony_smith/perforce/API/Perl/current/P4-Client.tar.gz | |||||
#26 | 4319 | Tony Smith |
Update Cygwin hints file to handle gcc3 builds using the 2003.2 API. Thanks to Jeremy Bopp. |
||
#25 | 4259 | Tony Smith |
Porting change. Improved solaris hints file for Solaris 8/9 (and hopefully later releases too). No functional change |
||
#24 | 3552 | Tony Smith |
Release previous bugfix from a platform that can build a decent tarball... |
||
#23 | 3550 | Tony Smith |
Add OutputBinary() support to P4Perl. This allows "p4 print" to work with clients that do not use "local" line endings amongst other things. |
||
#22 | 3549 | Tony Smith |
Update tarball with a properly organised and compressed one - that's what comes of trying to build a distribution on Windows... |
||
#21 | 3540 | Tony Smith |
Add hints file for Cygwin contributed by Nathan Royer - thanks Nathan! |
||
#20 | 2596 | Tony Smith |
Bug fix: Allow form parsing to accept forms that are initialised (deliberately) with invalid data. |
||
#19 | 2411 | Tony Smith |
Port bug fix from P4Ruby to P4Perl. Certain variable names get reused in tagged mode and this causes the hash members to lose their earlier contents when the later value comes along. Specifically this is otherLock and otherOpen in the output of "p4 fstat". This slightly unpleasant fix simply renames the later variable name by appending an "s" to it. So otherLock becomes otherLocks and otherOpen becomes otherOpens. Now otherOpen is an array containing the user/client of the other users who have the file open and otherLock is a single-element array containing the user/client of the user who has the file locked. otherOpens contains the number of other users who have the file opened. otherLocks contains an empty string. Since the latter two are quite redundant they may be explicitly removed in a future release. |
||
#18 | 2373 | Tony Smith |
Bug fix: Forms parsing was not correctly handling fields with embedded digits like the P4DTI-* fields in a job. This fix should make the detection of the base variable name and its index more reliable |
||
#17 | 2279 | Tony Smith |
Bump major version up to 2.2279 to make CPAN see this as a new release. CPAN.pm thinks 1.982 is newer than 1.1084 so hopefully this will stop CPAN users getting old release of P4-Client. No functional change |
||
#16 | 2223 | Tony Smith |
Relegated previous support for "p4 diff" to the bottom drawer and use the Diff class provided in the P4 API to send the diff listings through the OutputText() interface. This has two main advantages over the old implementation: (a) same output as "p4 diff" as it uses the same classes and (b) doesn't require extra perl modules. The old implementation is still available - you just have to call P4::Client::DoPerlDiffs() to specify your preference. |
||
#15 | 2084 | Tony Smith |
Removed ugly hack preserving the specdef in perl hashes. There's no need for it as the server kindly provides it when you run the "p4 XXX -i". A little tidying of the test harness. It's not great, but there's at least something in there to check the form parsing now. |
||
#14 | 2010 | Tony Smith |
Bug fix. Fix crash when bizarre input is supplied as allegedly valid form fields. |
||
#13 | 1981 | Tony Smith | Update current P4-Client build to 1.1980 for the ActivePerl users. | ||
#12 | 1976 | Tony Smith |
Add support for ClientUser::Diff() to P4/Perl. Uses the Algorithm::Diff module to perform the diffs. Thanks to Wilson Snyder. |
||
#11 | 1894 | Tony Smith |
Bug fix. Correcty typo in SetCwd() - been doing too much Ruby (It's not a habit, I can control it) so I used [] instead of {} for indexing a hash. |
||
#10 | 1711 | Tony Smith |
Missed changes to Client.xs. Updated build accordingly |
||
#9 | 1710 | Tony Smith |
Bug fix/workaround. P4::Client::SetCwd() now does genuinely change your working directory, and also updates the PWD environment variable so that P4CONFIG files from the target directory can be correctly loaded. |
||
#8 | 1692 | Tony Smith |
Explicitly add extra preprocessor definitions for linux builds. It seems that some builds, most notably ActiveState ones don't use _BSD_SOURCE or _SVID_SOURCE so these settings are not propagated to additional modules. Thanks to Jeremy Russell. |
||
#7 | 1615 | Tony Smith |
Add debugging support to the ClientUserPerl class. It's not complete, but it's targeted at the code which deals with tagged output parsing which is the most complex code by far. |
||
#6 | 1546 | Tony Smith |
Fix to debugging code. Two debug statements were not protected by conditions so they always executed. Very annoying. Updating current build to 1546. |
||
#5 | 1542 | Tony Smith |
Removed another ClientApi reference in the debug code, and also made the debug code useable without the need to recompile. Now you just call $client->DebugLevel( 1 ); to enable debugging at run time. |
||
#4 | 1515 | Tony Smith |
Bug fix. Make sure all perl header files are included with C linkage preventing problems with redefinition of Perl_malloc() et al. |
||
#3 | 1084 | Tony Smith |
Bug fix: Fetching data using Tagged() or ParseForms() mode could give "attempt to free unreferenced scalar" errors on completion. When flattening the structured hashes into a Perforce form, the reference counts on the contents of the hash were not being incremented leading to their premature destruction. |
||
#2 | 1050 | Tony Smith |
Fix for parsing of complex tagged output with nested data items such as the output from "p4 filelog" for a file with integration records. P4-Client can now handle any level of nested data in the response from the Perforce server, but complex structures of this type may not be supplied for conversion into a Perforce form. That's OK as no Perforce forms have nested data items. Updated current build to 1.1050 |
||
#1 | 1011 | Tony Smith |
Moved Perl API stuff one level down to make way for upcoming Ruby interface. |
||
//guest/tony_smith/perforce/API/current/P4-Client.tar.gz | |||||
#6 | 977 | Tony Smith |
Fix broken form parsing. Two problems: first off, the specdef was not being saved in the hash for later use so forms could not be reconstructed from the hash data structure. Secondly, multi-line elements parsed into array members of the hash were not being flattened prior to reconstructing the form so they would be empty. |
||
#5 | 976 | Tony Smith |
Fix for multi-line field handling bug. The array handling code was dependent on all results for a given tag being supplied before moving on to the next tag, but this is not true for all Perforce commands. i.e. p4 client -o -> tags not fragmented p4 describe -s -> oops. Now the implementation is not fussy about the order in which elements arrive other than that tagN comes before tagN+1. Any number of other elements may come in between them. |
||
#4 | 966 | Tony Smith | Updated 1.966 build | ||
#3 | 964 | Tony Smith | Release P4::Client 1.964 | ||
#2 | 931 | Tony Smith | Latest (931) builds of P4::Client and P4 | ||
#1 | 926 | Tony Smith |
Reorganise layout of API stuff. Current builds maintained under current/ directory, released versions under released/ . All version numbers are <major>.<changelist> so syncing to the changelist number gets you the code for that build. Also updated the index page and added HTMLised versions of the pod to make it easy to see if this is what you need. |