Permalink
Browse files

Add initial diff parser implementation

  • Loading branch information...
1 parent 092d65c commit d15ecf1b3e9215c0b98b30e07f2bbd1f7162e08d @mrook mrook committed Apr 16, 2013
Showing with 79 additions and 0 deletions.
  1. +79 −0 SVN/Parser/XML/Diff.php
View
@@ -0,0 +1,79 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4: */
+/**
+ * Implements reading of SVN info XML.
+ *
+ * +----------------------------------------------------------------------+
+ * | This LICENSE is in the BSD license style. |
+ * | http://www.opensource.org/licenses/bsd-license.php |
+ * | |
+ * | Redistribution and use in source and binary forms, with or without |
+ * | modification, are permitted provided that the following conditions |
+ * | are met: |
+ * | |
+ * | * Redistributions of source code must retain the above copyright |
+ * | notice, this list of conditions and the following disclaimer. |
+ * | |
+ * | * Redistributions in binary form must reproduce the above |
+ * | copyright notice, this list of conditions and the following |
+ * | disclaimer in the documentation and/or other materials provided |
+ * | with the distribution. |
+ * | |
+ * | * Neither the name of Clay Loveless nor the names of contributors |
+ * | may be used to endorse or promote products derived from this |
+ * | software without specific prior written permission. |
+ * | |
+ * | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
+ * | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
+ * | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
+ * | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
+ * | COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
+ * | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
+ * | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
+ * | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
+ * | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
+ * | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
+ * | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
+ * | POSSIBILITY OF SUCH DAMAGE. |
+ * +----------------------------------------------------------------------+
+ *
+ * PHP version 5
+ *
+ * @category VersionControl
+ * @package VersionControl_SVN
+ * @author Michiel Rook <mrook@php.net>
+ * @copyright 2013 Michiel Rook
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ * @link http://pear.php.net/package/VersionControl_SVN
+ */
+
+require_once 'VersionControl/SVN/Parser/XML.php';
+
+/**
+ * Class VersionControl_SVN_Parser_Diff - XML Parser for Subversion Diff output
+ *
+ * @category VersionControl
+ * @package VersionControl_SVN
+ * @author Michiel Rook <mrook@php.net>
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ * @version @version@
+ * @link http://pear.php.net/package/VersionControl_SVN
+ */
+class VersionControl_SVN_Parser_XML_Diff
+ extends VersionControl_SVN_Parser_XML
+{
+ /**
+ * @var array $xmlPathConfig The XML configuration (like a DTD).
+ */
+ protected $xmlPathConfig = array(
+ 'paths' => array(
+ 'path' => array(
+ 'path' => array(
+ 'quantifier' => '+',
+ 'attribute' => array('kind', 'props', 'item'),
+ 'config' => 'string',
+ ),
+ )
+ ),
+ );
+}

0 comments on commit d15ecf1

Please sign in to comment.