6330N/A<?xml version="1.0" encoding="UTF-8"?>
6330N/A<!--
6330N/A ! CCPL HEADER START
6330N/A !
6330N/A ! This work is licensed under the Creative Commons
6330N/A ! Attribution-NonCommercial-NoDerivs 3.0 Unported License.
6330N/A ! To view a copy of this license, visit
6330N/A ! http://creativecommons.org/licenses/by-nc-nd/3.0/
6330N/A ! or send a letter to Creative Commons, 444 Castro Street,
6330N/A ! Suite 900, Mountain View, California, 94041, USA.
6330N/A !
6330N/A ! You can also obtain a copy of the license at
6330N/A ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt.
6330N/A ! See the License for the specific language governing permissions
6330N/A ! and limitations under the License.
6330N/A !
6330N/A ! If applicable, add the following below this CCPL HEADER, with the fields
6330N/A ! enclosed by brackets "[]" replaced with your own identifying information:
6330N/A ! Portions Copyright [yyyy] [name of copyright owner]
6330N/A !
6330N/A ! CCPL HEADER END
6330N/A !
6330N/A ! Copyright 2011-2012 ForgeRock AS
6330N/A ! Portions Copyright 2013 Jens Elkner
6330N/A !
6330N/A-->
6330N/A<refentry xml:id="ldif-diff-1" xmlns="http://docbook.org/ns/docbook"
6330N/A version="5.0" xml:lang="en"
6330N/A xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6330N/A xsi:schemaLocation="http://docbook.org/ns/docbook http://docbook.org/xml/5.0/xsd/docbook.xsd"
6330N/A xmlns:xlink="http://www.w3.org/1999/xlink"
6330N/A xmlns:xi="http://www.w3.org/2001/XInclude">
6330N/A <xi:include href="common.xml" xpointer='xpointer(//info[@name="info"])'/>
6330N/A <refmeta>
6330N/A <refentrytitle><application>ldif-diff</application></refentrytitle>
6330N/A <xi:include href="common.xml" xpointer='xpointer(//manvolnum[@name="v1m"])'/>
6330N/A </refmeta>
6330N/A <refnamediv>
6330N/A <refname><application>ldif-diff</application></refname>
6330N/A <refpurpose>compare small LDIF files</refpurpose>
6330N/A </refnamediv>
6330N/A <refsynopsisdiv>
6330N/A <cmdsynopsis>
6330N/A <command>ldif-diff</command>
6330N/A <arg>-O</arg>
6330N/A <arg>-S</arg>
6330N/A <arg>-r</arg>
6330N/A <arg>-a <replaceable class="parameter">ignoreAttrFile</replaceable></arg>
6330N/A <arg>-e <replaceable class="parameter">ignoreEntryFile</replaceable></arg>
6330N/A <arg>-o <replaceable class="parameter">outfile</replaceable></arg>
6330N/A <arg>-s <replaceable class="parameter">srcfile</replaceable></arg>
6330N/A <arg>-t <replaceable class="parameter">targetfile</replaceable></arg>
6330N/A <arg>--checkSchema</arg>
6330N/A <xi:include href="common.xml"
6330N/A xpointer='xpointer(//para[@name="s-general"]/*)'/>
6330N/A </cmdsynopsis>
6330N/A </refsynopsisdiv>
6330N/A <refsection>
6330N/A <title>Description</title>
6330N/A <para>
6330N/AThis utility can be used to compare two LDIF files and report the differences
6330N/Ain LDIF format.
6330N/A </para>
6330N/A </refsection>
6330N/A <refsection>
6330N/A <title>Options</title>
6330N/A <para>
6330N/AThe following options are supported.
6330N/A </para>
6330N/A <variablelist>
6330N/A <varlistentry>
6330N/A <term><option>-a, --ignoreAttrs</option> <replaceable
6330N/A class="parameter">file</replaceable></term>
6330N/A <listitem>
6330N/A <para>
6330N/AFile containing a list of attributes to ignore when computing the difference.
6330N/A </para>
6330N/A </listitem>
6330N/A </varlistentry>
6330N/A <varlistentry>
6330N/A <term><option>--checkSchema</option></term>
6330N/A <listitem>
6330N/A <para>
6330N/ATakes into account the syntax of the attributes as defined in the schema to make
6330N/Athe value comparison. The provided LDIF files must conform to the server schema.
6330N/A </para>
6330N/A </listitem>
6330N/A </varlistentry>
6330N/A <varlistentry>
6330N/A <term><option>-e, --ignoreEntries</option> <replaceable
6330N/A class="parameter">file</replaceable></term>
6330N/A <listitem>
6330N/A <para>
6330N/AFile containing a list of entries (DN) to ignore when computing the difference.
6330N/A </para>
6330N/A </listitem>
6330N/A </varlistentry>
6330N/A <varlistentry>
6330N/A <term><option>-o, --outputLDIF</option> <replaceable
6330N/A class="parameter">file</replaceable></term>
6330N/A <listitem>
6330N/A <para>
6330N/AFile to which the output should be written.
6330N/A </para>
6330N/A </listitem>
6330N/A </varlistentry>
6330N/A <varlistentry>
6330N/A <term><option>-O, --overwriteExisting</option></term>
6330N/A <listitem>
6330N/A <para>
6330N/AAny existing output file should be overwritten rather than appending to it.
6330N/A </para>
6330N/A </listitem>
6330N/A </varlistentry>
6330N/A <varlistentry>
6330N/A <term><option>-r, --useCompareResultCode</option></term>
6330N/A <listitem>
6330N/A <para>
6330N/AUse the LDAP compare result as an exit code for reporting differences between
6330N/Athe two LDIF files.
6330N/A </para>
6330N/A </listitem>
6330N/A </varlistentry>
6330N/A <varlistentry>
6330N/A <term><option>-s, --sourceLDIF</option> <replaceable
6330N/A class="parameter">file</replaceable></term>
6330N/A <listitem>
6330N/A <para>
6330N/ALDIF file to use as the source data.
6330N/A </para>
6330N/A </listitem>
6330N/A </varlistentry>
6330N/A <varlistentry>
6330N/A <term><option>-S, --singleValueChanges</option></term>
6330N/A <listitem>
6330N/A <para>
6330N/AEach attribute-level change should be written as a separate modification per
6330N/Aattribute value rather than one modification per entry.
6330N/A </para>
6330N/A </listitem>
6330N/A </varlistentry>
6330N/A <varlistentry>
6330N/A <term><option>-t, --targetLDIF</option> <replaceable
6330N/A class="parameter">file</replaceable></term>
6330N/A <listitem>
6330N/A <para>
6330N/ALDIF file to use as the target data.
6330N/A </para>
6330N/A </listitem>
6330N/A </varlistentry>
6330N/A <xi:include href="common.xml"
6330N/A xpointer='xpointer(//para[@name="l-general"]/*)'/>
6330N/A </variablelist>
6330N/A </refsection>
6330N/A
6330N/A <refsection>
6330N/A <title>Examples</title>
6330N/A <informalexample>
6330N/A <para>
6330N/AThe following example demonstrates use of the command with two small LDIF files.
6330N/A </para>
6330N/A <literallayout><prompt
6330N/A>$ </prompt><command>cat /tmp/newuser.ldif</command></literallayout>
6330N/A <screen>
6330N/Adn: uid=newuser,ou=People,dc=example,dc=com
6330N/Auid: newuser
6330N/AobjectClass: person
6330N/AobjectClass: organizationalPerson
6330N/AobjectClass: inetOrgPerson
6330N/AobjectClass: top
6330N/Acn: New User
6330N/Asn: User
6330N/Aou: People
6330N/Amail: newuser@example.com
6330N/AuserPassword: changeme
6330N/A</screen>
6330N/A <literallayout><prompt
6330N/A>$ </prompt><command>cat /tmp/neweruser.ldif</command></literallayout>
6330N/A <screen>
6330N/Adn: uid=newuser,ou=People,dc=example,dc=com
6330N/Auid: newuser
6330N/AobjectClass: person
6330N/AobjectClass: organizationalPerson
6330N/AobjectClass: inetOrgPerson
6330N/AobjectClass: top
6330N/Acn: New User
6330N/Asn: User
6330N/Aou: People
6330N/Amail: newuser@example.com
6330N/AuserPassword: secret12
6330N/Adescription: A new description.
6330N/A</screen>
6330N/A <literallayout><prompt
6330N/A>$ </prompt><command>ldif-diff -s /tmp/newuser.ldif -t /tmp/neweruser.ldif</command></literallayout>
6330N/A <screen>
6330N/Adn: uid=newuser,ou=People,dc=example,dc=com
6330N/Achangetype: modify
6330N/Aadd: userPassword
6330N/AuserPassword: secret12
6330N/A-
6330N/Adelete: userPassword
6330N/AuserPassword: changeme
6330N/A-
6330N/Aadd: description
6330N/Adescription: A new description.
6330N/A</screen>
6330N/A </informalexample>
6330N/A </refsection>
6330N/A <xi:include href="common.xml" xpointer='xpointer(//refsection[@name="env"])'/>
6330N/A <refsection>
6330N/A <title>Exit Status</title>
6330N/A <variablelist>
6330N/A <varlistentry>
6330N/A <term><errorcode>0</errorcode></term>
6330N/A <listitem>
6330N/A <para>The command completed successfully.</para>
6330N/A </listitem>
6330N/A </varlistentry>
6330N/A <varlistentry>
6330N/A <term><errorcode>5</errorcode></term>
6330N/A <listitem>
6330N/A <para>
6330N/AThe <option>-r</option> option was used, and no differences are reported.
6330N/A </para>
6330N/A </listitem>
6330N/A </varlistentry>
6330N/A <varlistentry>
6330N/A <term><errorcode>6</errorcode></term>
6330N/A <listitem>
6330N/A <para>
6330N/AThe <option>-r</option> option was used, and differences are reported.
6330N/A </para>
6330N/A </listitem>
6330N/A </varlistentry>
6330N/A <varlistentry>
6330N/A <term><errorcode>other</errorcode></term>
6330N/A <listitem>
6330N/A <para>An error occurred.</para>
6330N/A </listitem>
6330N/A </varlistentry>
6330N/A </variablelist>
6330N/A </refsection>
6330N/A <xi:include href="common.xml" xpointer='xpointer(//refsection[@name="seeAlso"])'/>
6330N/A</refentry>