ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



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.8.8                                      2006-12-28                                  SVK::Command(3)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.