VersionControl_SVN
[ class tree: VersionControl_SVN ] [ index: VersionControl_SVN ] [ all elements ]

Class: VersionControl_SVN_Commit

Source Location: /VersionControl_SVN-0.3.1/SVN/Commit.php

Class Overview

VersionControl_SVN
   |
   --VersionControl_SVN_Commit

Subversion Commit command manager class


Author(s):

Version:

  • 0.3.1

Copyright:

  • Copyright (c) 2004 Clay Loveless. All Rights Reserved.

Variables

Methods


Inherited Variables

Inherited Methods

Class: VersionControl_SVN

VersionControl_SVN::apiVersion()
Return the VersionControl_SVN API version
VersionControl_SVN::checkCommandRequirements()
Standardized validation of requirements for a command class.
VersionControl_SVN::declareErrorMessages()
Set up VersionControl_SVN error message templates for PEAR_ErrorStack.
VersionControl_SVN::factory()
Create a new VersionControl_SVN command object.
VersionControl_SVN::fetchCommands()
Scan through the SVN directory looking for subclasses.
VersionControl_SVN::fetchShortcuts()
Return the array of pre-defined shortcuts (also known as Alternate Names) for Subversion commands.
VersionControl_SVN::init()
Initialize an object wrapper for a Subversion subcommand.
VersionControl_SVN::parseOutput()
Handle output parsing chores.
VersionControl_SVN::prepare()
Prepare the command switches.
VersionControl_SVN::run()
Run the command with the defined switches.
VersionControl_SVN::setOptions()
Allow for overriding of previously declared options.

Class Details

[line 141]
Subversion Commit command manager class

Send changes from a working copy to the repository.

Commits must include a commit message option (either with 'm', 'message', 'file' or 'F' keys), but the message itself may be blank.

$switches is an array containing one or more command line options defined by the following associative keys:

  1.  $switches = array(
  2.   'm [message]'   =>  'Specified commit message',
  3.                       // either 'm' or 'message' may be used
  4.   'F [file]'      =>  'Read commit message data from specified file',
  5.                       // either 'F' or 'file' may be used
  6.   'q [quiet]'     =>  true|false,
  7.                       // prints as little as possible
  8.   'N'             =>  true|false,
  9.                       // operate on single directory only
  10.   'non-recursive' =>  true|false,
  11.                       // operate on single directory only
  12.   'targets'       =>  'ARG',
  13.                       // pass contents of file ARG as additional args
  14.   'force-log'     =>  true|false,
  15.                       // force validity of log message source
  16.   'username'      =>  'Subversion repository login',
  17.   'password'      =>  'Subversion repository password',
  18.   'no-auth-cache' =>  true|false,
  19.                       // Do not cache authentication tokens
  20.   'encoding'      =>  'ARG',
  21.                       // treat value as being in charset encoding ARG
  22.   'config-dir'    =>  'Path to a Subversion configuration directory'
  23.  );

If a path is not used in the $args array, the default path of '.' will be assumed.

Note: Subversion does not offer an XML output option for this subcommand

The non-interactive option available on the command-line svn client may also be set (true|false), but it is set to true by default.

The editor-cmd option available on the command-line svn client is not available since this class does not operate as an interactive shell session.

Usage example:

  1.  <?php
  2.  require_once 'VersionControl/SVN.php';
  3.  
  4.  // Setup error handling -- always a good idea!
  5.  $svnstack &PEAR_ErrorStack::singleton('VersionControl_SVN');
  6.  
  7.  // Set up runtime options. Will be passed to all
  8.  // subclasses.
  9.  $options = array('fetchmode' => VERSIONCONTROL_SVN_FETCHMODE_RAW);
  10.  
  11.  // Pass array of subcommands we need to factory
  12.  $svn VersionControl_SVN::factory(array('checkout')$options);
  13.  
  14.  // Define any switches and aguments we may need
  15.  $switches = array('m' => 'Bug #1234 fixed!''username' => 'user''password' => 'pass');
  16.  $args = array('/path/to/working_copy');
  17.  
  18.  // Run command
  19.  if ($output $svn->commit->run($args$switches)) {
  20.      print_r($output);
  21.  else {
  22.      if (count($errs $svnstack->getErrors())) {
  23.          foreach ($errs as $err{
  24.              echo '<br />'.$err['message']."<br />\n";
  25.              echo "Command used: " $err['params']['cmd'];
  26.          }
  27.      }
  28.  }
  29.  ?>

  • Author: Clay Loveless <clay@killersoft.com>
  • Version: 0.3.1
  • Copyright: Copyright (c) 2004 Clay Loveless. All Rights Reserved.


[ Top ]


Class Variables

$args = array()

[line 179]

Command-line arguments that should be passed outside of those specified in switches.
  • Access: public

Type:   array


[ Top ]

$min_args =  0

[line 188]

Minimum number of args required by this subcommand.

See Version Control with Subversion, Subversion Complete Reference for details on arguments for this subcommand.

  • Access: public

Type:   int


[ Top ]

$passthru =  false

[line 204]

Use exec or passthru to get results from command.
  • Access: public

Type:   bool


[ Top ]

$required_switches = array('m|message|F|file')

[line 197]

Switches required by this subcommand.

See Version Control with Subversion, Subversion Complete Reference for details on arguments for this subcommand.

  • Access: public

Type:   array


[ Top ]

$valid_switches = array('m',
                                'message',
                                'q',
                                'quiet',
                                'N',
                                'non-recursive',
                                'non_recursive',
                                'username',
                                'password',
                                'no-auth-cache',
                                'no_auth_cache',
                                'non-interactive',
                                'non_interactive',
                                'config-dir',
                                'config_dir',
                                'targets',
                                'file',
                                'F',
                                'encoding',
                                'force-log',
                                'force_log'
                                )

[line 149]

Valid switches for svn commit
  • Access: public

Type:   array


[ Top ]



Method Detail

parseOutput   [line 316]

mixed parseOutput( array $out)

Handles output parsing of standard and verbose output of command.
  • Return: Returns output requested by fetchmode (if available), or raw output if desired fetchmode is not available.
  • Access: public

Overrides VersionControl_SVN::parseOutput() (Handle output parsing chores.)

Parameters:

array   $out   —  Array of output captured by exec command in run.

[ Top ]

parseOutputArray   [line 349]

void parseOutputArray( $out)

Helper method for parseOutput that parses output into an associative array
  • Todo: Finish this method! : )

Parameters:

   $out   — 

[ Top ]

prepare   [line 217]

int prepare( void 0)

Prepare the svn subcommand switches.

Defaults to non-interactive mode, and will auto-set the --xml switch (if available) if $fetchmode is set to VERSIONCONTROL_SVN_FETCHMODE_XML, VERSIONCONTROL_SVN_FETCHMODE_ASSOC or VERSIONCONTROL_SVN_FETCHMODE_OBJECT

  • Return: true on success, false on failure. Check PEAR_ErrorStack for error details, if any.

Overrides VersionControl_SVN::prepare() (Prepare the command switches.)

Parameters:

void   0   — 

[ Top ]


Documentation generated on Thu, 10 Dec 2015 05:46:59 +0000 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.