Programming with P4Ruby
The following example shows how to create a new client workspace based on an existing template:
require "P4"
template = "my-client-template"
client_root = 'c:\p4-work'
p4 = P4.new
p4.connect
begin
# Run a "p4 client -t template -o" and convert it into a Ruby hash
spec = p4.fetch_client( "-t", template, "my-new-client")
# Now edit the fields in the form
spec[ "Root" ] = client_root
spec[ "Options" ] = spec[ "Options" ].sub( "normdir", "rmdir" )
# Now save the updated spec
p4.save_client( spec )
# Point to the newly-created client
p4.client="my-new-client"
# And sync it.
p4.run_sync
rescue P4Exception
# If any errors occur, we'll jump in here. Just log them
# and raise the exception up to the higher level
p4.errors.each { |e| $stderr.puts( e ) }
raise
end
Connecting to SSL-enabled servers
Scripts written with P4Ruby use any existing P4TRUST
file
present in their operating environment (by default,
.p4trust
in the home directory of the user that
runs the script).
If the fingerprint returned by the server fails to match the one
installed in the P4TRUST
file associated with the
script's run-time environment, your script will (and should!) fail to
connect to the server.