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

Class: VersionControl_SVN_Add

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

Class Overview

VersionControl_SVN
   |
   --VersionControl_SVN_Add

Subversion Add 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 131]
Subversion Add command manager class

Put files and directories under version control, scheduling them for addition to repository. They will be added in next commit.

While it may or may not seem obvious, it's worth mentioning that the path to the file being added should already be an Subversion project working copy.

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

  1.  array(
  2.   'config-dir'    =>  'Path to a Subversion configuration directory',
  3.   'targets'       =>  'ARG',
  4.                       // pass contents of file ARG as additional args
  5.   'q [quiet]'     =>  true|false,
  6.                      // prints as little as possible
  7.   'v [verbose]'   =>  true|false,
  8.                       // prints extra information
  9.   'N'             =>  true|false,
  10.                       // operate on single directory only
  11.   'non-recursive' =>  true|false,
  12.                       // operate on single directory only
  13.   'auto-props'    =>  true|false,
  14.                       // enable automatic properties. Setting to false IS NOT the same
  15.                       // as setting no-auto-props to true.
  16.   'no-auto-props' =>  true|false
  17.                       // disable automatic properties. Setting to false IS NOT the same
  18.                       // as setting auto-props to true.
  19.  );

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('add')$options);
  13.  
  14.  // Define any switches and aguments we may need
  15.  $switches = array();
  16.  $args = array('/local_working_files/myproject/newfile.php');
  17.  
  18.  // Run command
  19.  if ($output $svn->add->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.  ?>

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

  • 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 161]

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

Type:   array


[ Top ]

$min_args =  1

[line 170]

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

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

Type:   bool


[ Top ]

$required_switches = array()

[line 179]

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('q',
                                'quiet',
                                'N',
                                'targets',
                                'non-recursive',
                                'non_recursive',
                                'auto-props',
                                'auto_props',
                                'no-auto-props',
                                'no_auto_props',
                                'config-dir',
                                'config_dir'
                                )

[line 139]

Valid switches for svn add
  • Access: public

Type:   array


[ Top ]



Method Detail

parseOutput   [line 288]

mixed parseOutput( array $out)

Handles output parsing of 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 322]

void parseOutputArray( $out)

Helper method for parseOutput that parses output into an associative array
  • Todo: Covert list output parsing used in example_tree.php to this method (more or less)

Parameters:

   $out   — 

[ Top ]

prepare   [line 199]

int prepare( void 0)

Prepare the svn subcommand switches.

Defaults to non-interactive mode, and will auto-set the --xml switch if $fetchmode is set to SVN_FETCHMODE_XML, SVN_FETCHMODE_ASSOC or 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.