mg              Thu Aug 19 06:23:26 2004 EDT

  Modified files:              
    /phpdoc/en/reference/xdiff/functions        xdiff-file-diff-binary.xml 
                                                xdiff-file-diff.xml 
                                                xdiff-file-merge3.xml 
                                                xdiff-file-patch-binary.xml 
                                                xdiff-file-patch.xml 
                                                xdiff-string-diff.xml 
                                                xdiff-string-patch.xml 
  Log:
  Add examples and notes about memory usage and format of diffs.
  
  
http://cvs.php.net/diff.php/phpdoc/en/reference/xdiff/functions/xdiff-file-diff-binary.xml?r1=1.3&r2=1.4&ty=u
Index: phpdoc/en/reference/xdiff/functions/xdiff-file-diff-binary.xml
diff -u phpdoc/en/reference/xdiff/functions/xdiff-file-diff-binary.xml:1.3 
phpdoc/en/reference/xdiff/functions/xdiff-file-diff-binary.xml:1.4
--- phpdoc/en/reference/xdiff/functions/xdiff-file-diff-binary.xml:1.3  Wed Apr 21 
17:10:21 2004
+++ phpdoc/en/reference/xdiff/functions/xdiff-file-diff-binary.xml      Thu Aug 19 
06:23:26 2004
@@ -1,5 +1,5 @@
 <?xml version='1.0' encoding='iso-8859-1'?>
-<!-- $Revision: 1.3 $ -->
+<!-- $Revision: 1.4 $ -->
 <!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
   <refentry id="function.xdiff-file-diff-binary">
    <refnamediv>
@@ -19,11 +19,33 @@
     <para>
      <function>xdiff_file_diff_binary</function> makes binary diff of files
      <parameter>file1</parameter> and <parameter>file2</parameter> and stores
-     result in file <parameter>dest</parameter>.
+     result in file <parameter>dest</parameter>. This function works with both text  
+     and binary files. Resulting file is in binary format.
     </para>
+    <note>
+     <para>
+      Both files will be loaded into memory so ensure that your memory_limit is set 
high enough.
+     </para>
+    </note>
     <para>
      &return.success;
     </para>
+    <example>
+     <title><function>xdiff_file_diff_binary</function> example</title>
+     <para>
+      The following code makes binary diff of two archives.
+     </para>
+     <programlisting role="php">
+<![CDATA[
+<?php
+$old_version = 'my_script_1.0.tgz';
+$new_version = 'my_script_1.1.tgz';
+
+xdiff_file_diff_binary($old_version, $new_version, 'my_script.bdiff');
+?>
+]]>
+     </programlisting>
+    </example>
     <para>
      See also <function>xdiff_string_diff_binary</function>.
     </para>
http://cvs.php.net/diff.php/phpdoc/en/reference/xdiff/functions/xdiff-file-diff.xml?r1=1.2&r2=1.3&ty=u
Index: phpdoc/en/reference/xdiff/functions/xdiff-file-diff.xml
diff -u phpdoc/en/reference/xdiff/functions/xdiff-file-diff.xml:1.2 
phpdoc/en/reference/xdiff/functions/xdiff-file-diff.xml:1.3
--- phpdoc/en/reference/xdiff/functions/xdiff-file-diff.xml:1.2 Mon Feb  9 13:22:05 
2004
+++ phpdoc/en/reference/xdiff/functions/xdiff-file-diff.xml     Thu Aug 19 06:23:26 
2004
@@ -1,5 +1,5 @@
 <?xml version='1.0' encoding='iso-8859-1'?>
-<!-- $Revision: 1.2 $ -->
+<!-- $Revision: 1.3 $ -->
 <!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
   <refentry id="function.xdiff-file-diff">
    <refnamediv>
@@ -25,10 +25,33 @@
      <parameter>context</parameter> indicated how many lines of context you
      want to include in diff result. Set <parameter>minimal</parameter> to
      &true; if you want to minimalize size of diff (can take a long time).
+     Resulting file is human-readable.
     </para>
+    <note>
+     <para>
+      This function doesn't work well with binary files. To make diff of binary
+      files use <function>xdiff_file_diff_binary</function>.
+     </para>
+    </note>
     <para>
      &return.success;
     </para>
+    <example>
+     <title><function>xdiff_file_diff</function> example</title>
+     <para>
+      The following code makes unified diff of two php files.
+     </para>
+     <programlisting role="php">
+<![CDATA[
+<?php
+$old_version = 'my_script.php';
+$new_version = 'my_new_script.php';
+
+xdiff_file_diff($old_version, $new_version, 'my_script.diff', 2);
+?>
+]]>
+     </programlisting>
+    </example>
     <para>
      See also <function>xdiff_string_diff</function>.
     </para>
http://cvs.php.net/diff.php/phpdoc/en/reference/xdiff/functions/xdiff-file-merge3.xml?r1=1.2&r2=1.3&ty=u
Index: phpdoc/en/reference/xdiff/functions/xdiff-file-merge3.xml
diff -u phpdoc/en/reference/xdiff/functions/xdiff-file-merge3.xml:1.2 
phpdoc/en/reference/xdiff/functions/xdiff-file-merge3.xml:1.3
--- phpdoc/en/reference/xdiff/functions/xdiff-file-merge3.xml:1.2       Tue Feb 10 
13:57:00 2004
+++ phpdoc/en/reference/xdiff/functions/xdiff-file-merge3.xml   Thu Aug 19 06:23:26 
2004
@@ -1,5 +1,5 @@
 <?xml version='1.0' encoding='iso-8859-1'?>
-<!-- $Revision: 1.2 $ -->
+<!-- $Revision: 1.3 $ -->
 <!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
   <refentry id="function.xdiff-file-merge3">
    <refnamediv>
@@ -27,6 +27,27 @@
      Returns &true; if merge was successful, string with rejected chunks if
      it was not or &false; if an internal error happened.
     </para>
+    <example>
+     <title><function>xdiff_file_merge3</function> example</title>
+     <para>
+      The following code merges three files into one.
+     </para>
+     <programlisting role="php">
+<![CDATA[
+<?php
+$old_version = 'original_script.php';
+$fix1 = 'script_with_fix1.php';
+$fix2 = 'script_with_fix2.php';
+
+$errors = xdiff_file_merge3($old_version, $fix1, $fix2, 'fixed_script.php');
+if (is_string($errors)) {
+    echo "Rejects:\n";
+    echo $errors;
+}
+?>
+]]>
+     </programlisting>
+    </example>
     <para>
      See also <function>xdiff_string_merge3</function>.
     </para>
http://cvs.php.net/diff.php/phpdoc/en/reference/xdiff/functions/xdiff-file-patch-binary.xml?r1=1.4&r2=1.5&ty=u
Index: phpdoc/en/reference/xdiff/functions/xdiff-file-patch-binary.xml
diff -u phpdoc/en/reference/xdiff/functions/xdiff-file-patch-binary.xml:1.4 
phpdoc/en/reference/xdiff/functions/xdiff-file-patch-binary.xml:1.5
--- phpdoc/en/reference/xdiff/functions/xdiff-file-patch-binary.xml:1.4 Tue Aug  3 
12:54:59 2004
+++ phpdoc/en/reference/xdiff/functions/xdiff-file-patch-binary.xml     Thu Aug 19 
06:23:26 2004
@@ -1,5 +1,5 @@
 <?xml version='1.0' encoding='iso-8859-1'?>
-<!-- $Revision: 1.4 $ -->
+<!-- $Revision: 1.5 $ -->
 <!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
   <refentry id="function.xdiff-file-patch-binary">
    <refnamediv>
@@ -22,9 +22,36 @@
      <parameter>patch</parameter> and stores result in file
      <parameter>dest</parameter>.
     </para>
+    <note>
+     <para>
+      Both files (file and patch) will be loaded into memory so ensure that your 
memory_limit is set high enough.
+     </para>
+    </note>
     <para>
      &return.success;
     </para>
+    <example>
+     <title><function>xdiff_file_patch_binary</function> example</title>
+     <para>
+      The following code applies binary diff to a file.
+     </para>
+     <programlisting role="php">
+<![CDATA[
+<?php
+$old_version = 'archive-1.0.tgz';
+$patch = 'archive.bpatch';
+
+$result = xdiff_file_patch_binary($old_version, $patch, 'archive-1.1.tgz');
+if ($result) {
+   echo "File patched";
+} else {
+   echo "File couldn't be patched";
+}
+
+?>
+]]>
+     </programlisting>
+    </example>
     <para>
      See also <function>xdiff_string_patch_binary</function>.
     </para>
http://cvs.php.net/diff.php/phpdoc/en/reference/xdiff/functions/xdiff-file-patch.xml?r1=1.3&r2=1.4&ty=u
Index: phpdoc/en/reference/xdiff/functions/xdiff-file-patch.xml
diff -u phpdoc/en/reference/xdiff/functions/xdiff-file-patch.xml:1.3 
phpdoc/en/reference/xdiff/functions/xdiff-file-patch.xml:1.4
--- phpdoc/en/reference/xdiff/functions/xdiff-file-patch.xml:1.3        Tue Aug  3 
12:54:59 2004
+++ phpdoc/en/reference/xdiff/functions/xdiff-file-patch.xml    Thu Aug 19 06:23:26 
2004
@@ -1,5 +1,5 @@
 <?xml version='1.0' encoding='iso-8859-1'?>
-<!-- $Revision: 1.3 $ -->
+<!-- $Revision: 1.4 $ -->
 <!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
   <refentry id="function.xdiff-file-patch">
    <refnamediv>
@@ -32,6 +32,48 @@
      Returns &false; if an internal error happened, string with rejected 
      chunks of patch or &true; if patch has been successfully applied.
     </para>
+    <example>
+     <title><function>xdiff_file_patch</function> example</title>
+     <para>
+      The following code applies unified diff to a file.
+     </para>
+     <programlisting role="php">
+<![CDATA[
+<?php
+$old_version = 'my_script-1.0.php';
+$patch = 'my_script.patch';
+
+$errors = xdiff_file_patch($old_version, $patch, 'my_script-1.1.php');
+if (is_string($errors)) {
+   echo "Rejects:\n";
+   echo $errors;
+}
+
+?>
+]]>
+     </programlisting>
+    </example>
+    <example>
+     <title>Patch reversing example</title>
+     <para>
+      The following code reverses a patch.
+     </para>
+     <programlisting role="php">
+<![CDATA[
+<?php
+$new_version = 'my_script-1.1.php';
+$patch = 'my_script.patch';
+
+$errors = xdiff_file_patch($new_version, $patch, 'my_script-1.0.php', 
XDIFF_PATCH_REVERSE);
+if (is_string($errors)) {
+   echo "Rejects:\n";
+   echo $errors;
+}
+
+?>
+]]>
+     </programlisting>
+    </example>
     <para>
      See also <function>xdiff_string_patch</function>.
     </para>
http://cvs.php.net/diff.php/phpdoc/en/reference/xdiff/functions/xdiff-string-diff.xml?r1=1.2&r2=1.3&ty=u
Index: phpdoc/en/reference/xdiff/functions/xdiff-string-diff.xml
diff -u phpdoc/en/reference/xdiff/functions/xdiff-string-diff.xml:1.2 
phpdoc/en/reference/xdiff/functions/xdiff-string-diff.xml:1.3
--- phpdoc/en/reference/xdiff/functions/xdiff-string-diff.xml:1.2       Wed Apr 21 
17:14:25 2004
+++ phpdoc/en/reference/xdiff/functions/xdiff-string-diff.xml   Thu Aug 19 06:23:26 
2004
@@ -1,5 +1,5 @@
 <?xml version='1.0' encoding='iso-8859-1'?>
-<!-- $Revision: 1.2 $ -->
+<!-- $Revision: 1.3 $ -->
 <!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
   <refentry id="function.xdiff-string-diff">
    <refnamediv>
@@ -24,9 +24,36 @@
      want to include in diff result. Set <parameter>minimal</parameter> to
      &true; if you want to minimalize size of diff (can take a long time).
     </para>
+    <note>
+     <para>
+      This function doesn't work well with binary strings. To make diff of binary
+      strings use <function>xdiff_string_diff_binary</function>.
+     </para>
+    </note>
     <para>
      Returns string with result or &false; if an internal error happened.
     </para>
+    <example>
+     <title><function>xdiff_string_diff</function> example</title>
+     <para>
+      The following code makes unified diff of two articles.
+     </para>
+     <programlisting role="php">
+<![CDATA[
+<?php
+$old_article = file_get_contents('./old_article.txt');
+$new_article = $_REQUEST['article']; /* Let's say that someone pasted a new article 
to html form */
+
+$diff = xdiff_string_diff($old_article, $new_article, 1);
+if (is_string($diff)) {
+    echo "Differences between two articles:\n";
+    echo $diff;
+}
+
+?>
+]]>
+     </programlisting>
+    </example>
     <para>
      See also <function>xdiff_file_diff</function>.
     </para>
http://cvs.php.net/diff.php/phpdoc/en/reference/xdiff/functions/xdiff-string-patch.xml?r1=1.2&r2=1.3&ty=u
Index: phpdoc/en/reference/xdiff/functions/xdiff-string-patch.xml
diff -u phpdoc/en/reference/xdiff/functions/xdiff-string-patch.xml:1.2 
phpdoc/en/reference/xdiff/functions/xdiff-string-patch.xml:1.3
--- phpdoc/en/reference/xdiff/functions/xdiff-string-patch.xml:1.2      Tue Aug  3 
11:51:11 2004
+++ phpdoc/en/reference/xdiff/functions/xdiff-string-patch.xml  Thu Aug 19 06:23:26 
2004
@@ -1,5 +1,5 @@
 <?xml version='1.0' encoding='iso-8859-1'?>
-<!-- $Revision: 1.2 $ -->
+<!-- $Revision: 1.3 $ -->
 <!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
   <refentry id="function.xdiff-string-patch">
    <refnamediv>
@@ -31,6 +31,34 @@
      If <parameter>error</parameter> is passed then rejected parts are stored
      inside this variable.
     </para>
+    <example>
+     <title><function>xdiff_string_patch</function> example</title>
+     <para>
+      The following code applies changes to some article.
+     </para>
+     <programlisting role="php">
+<![CDATA[
+<?php
+$old_article = file_get_contents('./old_article.txt');
+$diff = $_SERVER['patch']; /* Let's say that someone pasted a patch to html form */
+
+$errors = '';
+
+$new_article = xdiff_string_patch($old_article, $diff, XDIFF_PATCH_NORMAL, $errors);
+if (is_string($new_article)) {
+    echo "New article:\n";
+    echo $new_article;
+}
+
+if (strlen($errors)) {
+    echo "Rejects: \n";
+    echo $errors;
+}
+
+?>
+]]>
+     </programlisting>
+    </example>
     <para>
      Returns a patched string.
     </para>

Reply via email to