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

Class: VersionControl_SVN_Propset

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

Class Overview

VersionControl_SVN
   |
   --VersionControl_SVN_Propset

Subversion Propset 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 167]
Subversion Propset command manager class

Set PROPNAME to PROPVAL on files, dirs, or revisions.

Note: svn recognizes the following special versioned properties but will store any arbitrary properties set: svn:ignore - A newline separated list of file patterns to ignore. svn:keywords - Keywords to be expanded. Valid keywords are: URL, HeadURL - The URL for the head version of the object. Author, LastChangedBy - The last person to modify the file. Date, LastChangedDate - The date/time the object was last modified. Rev, LastChangedRevision - The last revision the object changed. Id - A compressed summary of the previous 4 keywords. svn:executable - If present, make the file executable. This property cannot be set on a directory. A non-recursive attempt will fail, and a recursive attempt will set the property only on the file children of the directory. svn:eol-style - One of 'native', 'LF', 'CR', 'CRLF'. svn:mime-type - The mimetype of the file. Used to determine whether to merge the file, and how to serve it from Apache. A mimetype beginning with 'text/' (or an absent mimetype) is treated as text. Anything else is treated as binary. svn:externals - A newline separated list of module specifiers, each of which consists of a relative directory path, optional revision flags, and an URL. For example foo http://example.com/repos/zig foo/bar -r 1234 http://example.com/repos/zag

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

  1.  $switches = array(
  2.   'F [file]'      =>  'Read data from specified file',
  3.                       // either 'F' or 'file' may be used
  4.   'q [quiet]'     =>  true|false,
  5.                       // print as little as possible
  6.   'R'             =>  true|false,
  7.                       // descend recursively
  8.   'recursive'     =>  true|false,
  9.                       // descend recursively
  10.   'revprop'       =>  true|false,
  11.                       // operate on a revision property (use with r)
  12.   'targets'       =>  'ARG',
  13.                       // pass contents of file ARG as additional args
  14.   'r [revision]'  =>  'ARG (some commands also take ARG1:ARG2 range)
  15.                         A revision argument can be one of:
  16.                            NUMBER       revision number
  17.                            "{" DATE "}" revision at start of the date
  18.                            "HEAD"       latest in repository
  19.                            "BASE"       base rev of item's working copy
  20.                            "COMMITTED"  last commit at or before BASE
  21.                            "PREV"       revision just before COMMITTED',
  22.                       // either 'r' or 'revision' may be used
  23.   'username'      =>  'Subversion repository login',
  24.   'password'      =>  'Subversion repository password',
  25.   'no-auth-cache' =>  true|false,
  26.                       // Do not cache authentication tokens
  27.   'encoding'      =>  'ARG',
  28.                       // treat value as being in charset encoding ARG
  29.   'force'         =>  true|false,
  30.                       // force operation to run
  31.   'config-dir'    =>  'Path to a Subversion configuration directory'
  32.  );

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.

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('propset')$options);
  13.  
  14.  // Define any switches and aguments we may need
  15.  $switches = array('username' => 'user''password' => 'pass');
  16.  $args = array('svn:mime-type''image/jpeg''foo.jpg');
  17.  
  18.  // Run command
  19.  if ($output $svn->propset->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 203]

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

Type:   array


[ Top ]

$min_args =  3

[line 212]

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

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

Type:   bool


[ Top ]

$required_switches = array()

[line 221]

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('r',
                                'revision',
                                'revprop',
                                'R',
                                'recursive',
                                'q',
                                'quiet',
                                'F',
                                'file',
                                'targets',
                                'username',
                                'password',
                                'no-auth-cache',
                                'no_auth_cache',
                                'non-interactive',
                                'non_interactive',
                                'force',
                                'encoding',
                                'config-dir'
                                )

[line 175]

Valid switches for svn propset
  • Access: public

Type:   array


[ Top ]



Method Detail

parseOutput   [line 333]

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

void parseOutputArray( $out)

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

Parameters:

   $out   — 

[ Top ]

prepare   [line 241]

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.