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

Class: VersionControl_SVN_Mkdir

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

Class Overview

VersionControl_SVN
   |
   --VersionControl_SVN_Mkdir

Subversion Mkdir 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 148]
Subversion Mkdir command manager class

Create a new directory under version control.

From svn mkdir --help:

usage: 1. mkdir PATH... 2. mkdir URL...

Create version controlled directories.

  1. Each directory specified by a working copy PATH is created locally and scheduled for addition upon the next commit.
2. Each directory specified by a URL is created in the repository via an immediate commit.

In both cases, all the intermediate directories must already exist.

New directories must include a message option (either with 'm', 'message', 'file' or 'F' keys), when the directory is created directly in the repository, as that results in an immediate commit.

$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.   'force-log'     =>  true|false,
  9.                       // force validity of log message source
  10.   'username'      =>  'Subversion repository login',
  11.   'password'      =>  'Subversion repository password',
  12.   'no-auth-cache' =>  true|false,
  13.                       // Do not cache authentication tokens
  14.   'encoding'      =>  'ARG',
  15.                       // treat value as being in charset encoding ARG
  16.   'config-dir'    =>  'Path to a Subversion configuration directory'
  17.  );

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('mkdir')$options);
  13.  
  14.  // Define any switches and aguments we may need
  15.  $switches = array('m' => 'Let\'s make a hole here ...''username' => 'user''password' => 'pass');
  16.  $args = array('svn://svn.example.com/repos/TestProj/trunk/newdir');
  17.  
  18.  // Run command
  19.  if ($output $svn->mkdir->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 182]

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

Type:   array


[ Top ]

$min_args =  1

[line 191]

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 207]

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

Type:   bool


[ Top ]

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

[line 200]

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',
                                'F',
                                'file',
                                'username',
                                'password',
                                'no-auth-cache',
                                'no_auth_cache',
                                'non-interactive',
                                'non_interactive',
                                'config-dir',
                                'config_dir',
                                'encoding',
                                'force-log',
                                'force_log'
                                )

[line 156]

Valid switches for svn mkdir
  • Access: public

Type:   array


[ Top ]



Method Detail

parseOutput   [line 312]

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 345]

void parseOutputArray( $out)

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

Parameters:

   $out   — 

[ Top ]

prepare   [line 220]

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:47:00 +0000 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.