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

FreeBSD Manual Pages

  
 
  

home | help
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.24.1			  2009-12-21		       SVK::Command(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=SVK::Command&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help