Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

svk::command(3) [osx man page]

SVK::Command(3) 					User Contributed Perl Documentation					   SVK::Command(3)

NAME
SVK::Command - Base class and dispatcher for SVK commands SYNOPSIS
use SVK::Command; my $xd = SVK::XD->new ( ... ); my $cmd = 'checkout'; my @args = qw( file1 file2 ); open my $output_fh, '>', 'svk.log' or die $!; SVK::Command->invoke ($xd, $cmd, $output_fh, @args); DESCRIPTION
This module resolves alias for commands and dispatches them, usually with the "invoke" method. If the command invocation is incorrect, usage information is displayed instead. METHODS
Class Methods invoke ($xd, $cmd, $output_fh, @args) Takes a SVK::XD object, the command name, the output scalar reference, and the arguments for the command. The command name is translated with the %alias map. On Win32, after @args is parsed for named options, the remaining positional arguments are expanded for shell globbing with "bsd_glob". getopt ($argv, %opt) Takes a arrayref of argv for run getopt for the command, with additional %opt getopt options. Instance Methods "SVK::Command->invoke" loads the corresponding class "SVK::Command::$name", so that's the class you want to implement the following methods in: options () Returns a hash where the keys are Getopt::Long specs and the values are a string that will be the keys storing the parsed option in $self. Subclasses should override this to add their own options. Defaults to an empty list. opt_recursive Defines if the command needs the recursive flag and its default. The value will be stored in "recursive". parse_arg (@args) This method is called with the remaining arguments after parsing named options with "options" above. It should use the "arg_*" methods to return a list of parsed arguments for the command's "lock" and "run" method to process. Defaults to return a single "undef". lock (@parse_args) Calls the "lock_*" methods to lock the SVK::XD object. The arguments will be what is returned from "parse_arg". run (@parsed_args) Actually process the command. The arguments will be what is returned from "parse_arg". Returned undef on success. Return a string message to notify the caller errors. Utility Methods Except for "arg_depotname", all "arg_*" methods below returns a SVK::Path object, which consists of a hash with the following keys: cinfo copath depotpath path repos repospath report targets The hashes are handy to pass to many other functions. arg_condensed (@args) Argument is a number of checkout paths. arg_uri_maybe ($arg, $no_new_mirror) Argument might be a URI or a depotpath. If it is a URI, try to find it at or under one of currently mirrored paths. If not found, prompts the user to mirror and sync it. arg_co_maybe ($arg, $no_new_mirror) Argument might be a checkout path or a depotpath. If argument is URI then handles it via "arg_uri_maybe". arg_copath ($arg) Argument is a checkout path. arg_depotpath ($arg) Argument is a depotpath, including the slashes and depot name. arg_depotroot ($arg) Argument is a depot root, or a checkout path that needs to be resolved into a depot root. arg_depotname ($arg) Argument is a name of depot. such as '' or 'test' that is being used normally between two slashes. arg_path ($arg) Argument is a plain path in the filesystem. apply_revision($target) Apply the given revision from command line to $target. parse_revlist () Parse -c or -r to a list of [from, to] pairs. lock_target ($target) XXX Undocumented lock_coroot ($target) XXX Undocumented brief_usage ($file) Display an one-line brief usage of the command object. Optionally, a file could be given to extract the usage from the POD. filename Return the filename for the command module. usage ($want_detail) Display usage. If $want_detail is true, the "DESCRIPTION" section is displayed as well. Error Handling handle_error ($error) XXX Undocumented add_handler ($error, $handler) XXX Undocumented msg_handler ($error, $message) XXX Undocumented msg_handler ($error) XXX Undocumented command ($cmd, \%args) Construct a command object of the $cmd subclass and return it. The new object will share the "xd" from the calling command object; contents in %args is also assigned into the new object. rebless ($cmd, \%args) Like "command" above, but modifies the calling object instead of creating a new one. Useful for a command object to recast itself into another command class. run_command_recursively($target, $code) Traverse $target and and invoke $code with each node. SEE ALSO
SVK, SVK::XD, "SVK::Command::*" perl v5.10.0 2008-08-04 SVK::Command(3)
Man Page