Changes #15

  • //
  • guest/
  • tony_smith/
  • perforce/
  • API/
  • P4-Client/
  • Changes
  • Commits
# Change User Description Committed
#15 1011 Tony Smith Moved Perl API stuff one level down to make way for upcoming
Ruby interface.
#14 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.
#13 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.
#12 966 Tony Smith Updated 1.966 build
#11 964 Tony Smith Release P4::Client 1.964
#10 962 Tony Smith Added support for presenting multi-line elements of a form
as a single array member of the hashref in tagged/specstring
output.
#9 946 Tony Smith Porting to Solaris - thanks to Jeremy Russell <jrussel@reshape.com>
#8 933 Tony Smith Update changes file - forgot to add the release info yesterday
#7 929 Tony Smith Add support for form parsing to Perl API.
Allows Perforce
specs (change, client, user etc.) to be parsed by the API
and returned as Perl hashes rather than strings which must
be parsed by the user.

P4 module also has some new methods which make it easy to use
this feature. Sample code:

-------------------
use P4;

my $p4 = new P4;
$p4->ParseForms();
$p4->Init() or die( "Can't connect to Perforce" );

$p4->Edit( "filename" );
my $change = p4->GetChange();
$change->{ 'Description' } = "Some text";
$p4->SubmitSpec( $change );
print( $p4->ErrorCount() ? "Submit failed\n" : "Submit OK\n" );
-------------------
#6 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.
#5 582 Tony Smith Improved docs in UI.pm and fixed minor bug which caused problems
when calling scripts attempt to save the hashref passed to
UI::OutputInfo() for later use. It was casued by the members
of the hash being mortal variables. They will now persist if
referred to.

A couple of other minor bug fixes to UI.pm. Changes file has the
details.
#4 577 Tony Smith Preparations for release of P4::Client version 0.52
#3 576 Tony Smith Add an example script showing how to use the Perl API.
#2 575 Tony Smith Minor bug fixes to UI.pm - module initialisation now returns
true as it's supposed to, and new is no longer exported into
the callers namespace (ouch!)
#1 549 Tony Smith Renamed the working directory to P4-Client as I've discovered
that MakeMaker is quite happy with that and doesn't require a
version number in the directory name.
//guest/tony_smith/perforce/API/P4-Client-0.51/Changes
#3 529 Tony Smith Threaded Perl fix.
Mustn't use dTHX on old perls, it doesn't
exist. Also updated the Changes file with a comment I missed
earlier.
#2 528 Tony Smith Updated version numbers etc.
and tarball for 0.51.
#1 527 Tony Smith Release P4::Client version 0.51 with Win32 support
//guest/tony_smith/perforce/API/P4-Client-0.50/Changes
#2 511 Tony Smith Completed the process of renaming P4::ClientApi to P4::Client
#1 509 Tony Smith Renamed P4::ClientApi to P4::Client as it's more friendly and
that's what it's called on CPAN.  Subsequent changes include
the actual renaming inside the code, this just creates the
branch
//guest/tony_smith/perforce/API/P4-ClientApi-0.05/Changes
#1 501 Tony Smith First publicly released version of the Perl interface to the
Perforce API.