Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SVK::Command(3)	      User Contributed Perl Documentation      SVK::Command(3)

       SVK::Command - Base class and dispatcher	for SVK	commands

	   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);

       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.

   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.


       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

   Utility Methods
       Except for "arg_depotname", all "arg_*" methods below returns a
       SVK::Path object, which consists	of a hash with the following keys:


       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 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.


       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.

       SVK, SVK::XD, "SVK::Command::*"

perl v5.32.1			  2009-12-21		       SVK::Command(3)


Want to link to this manual page? Use this URL:

home | help