<?xml version="1.0" encoding="UTF-8"?>
<!--
! CCPL HEADER START
!
! This work is licensed under the Creative Commons
! Attribution-NonCommercial-NoDerivs 3.0 Unported License.
! To view a copy of this license, visit
! http://creativecommons.org/licenses/by-nc-nd/3.0/
! or send a letter to Creative Commons, 444 Castro Street,
! Suite 900, Mountain View, California, 94041, USA.
!
! You can also obtain a copy of the license at
! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt.
! See the License for the specific language governing permissions
! and limitations under the License.
!
! If applicable, add the following below this CCPL HEADER, with the fields
! enclosed by brackets "[]" replaced with your own identifying information:
! Portions Copyright [yyyy] [name of copyright owner]
!
! CCPL HEADER END
!
! Copyright 2011-2014 ForgeRock AS
!
-->
<refentry xml:id='ldif-diff-1'
xmlns='http://docbook.org/ns/docbook'
version='5.0' xml:lang='en'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='http://docbook.org/ns/docbook
http://docbook.org/xml/5.0/xsd/docbook.xsd'>
<info><copyright><year>2011-2014</year><holder>ForgeRock AS</holder></copyright></info>
<refmeta>
<refentrytitle>ldif-diff</refentrytitle><manvolnum>1</manvolnum>
<refmiscinfo class="software">OpenDJ</refmiscinfo>
<refmiscinfo class="version"><?eval ${docTargetVersion}?></refmiscinfo>
</refmeta>
<refnamediv>
<refname>ldif-diff</refname>
<refpurpose>compare small LDIF files</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>ldif-diff</command>
<arg choice="req">options</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>This utility can be used to compare two LDIF files and report the
differences in LDIF format.</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are supported.</para>
<variablelist>
<varlistentry>
<term><option>-a, --ignoreAttrs {file}</option></term>
<listitem>
<para>File containing a list of attributes to ignore when computing the
difference.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--checkSchema</option></term>
<listitem>
<para>Takes into account the syntax of the attributes as defined in the
schema to make the value comparison. The provided LDIF files must conform
to the server schema.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-e, --ignoreEntries {file}</option></term>
<listitem>
<para>File containing a list of entries (DN) to ignore when computing the
difference.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-o, --outputLDIF {file}</option></term>
<listitem>
<para>File to which the output should be written.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-O, --overwriteExisting</option></term>
<listitem>
<para>Any existing output file should be overwritten rather than appending
to it.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-r, --useCompareResultCode</option></term>
<listitem>
<para>Use the LDAP compare result as an exit code for reporting
differences between the two LDIF files.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-s, --sourceLDIF {file}</option></term>
<listitem>
<para>LDIF file to use as the source data.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-S, --singleValueChanges</option></term>
<listitem>
<para>Each attribute-level change should be written as a separate
modification per attribute value rather than one modification per
entry.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-t, --targetLDIF {file}</option></term>
<listitem>
<para>LDIF file to use as the target data.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-V, --version</option></term>
<listitem>
<para>Display version information.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-?, -H, --help</option></term>
<listitem>
<para>Display usage information.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Exit Codes</title>
<variablelist>
<varlistentry>
<term>0</term>
<listitem>
<para>The command completed successfully.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>5</term>
<listitem>
<para>The -r option was used, and no differences are reported.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>6</term>
<listitem>
<para>The-r option was used, and differences are reported.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>other</term>
<listitem>
<para>An error occurred.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Examples</title>
<para>The following example demonstrates use of the command with two
small LDIF files.</para>
<screen>
$ <userinput>cat /path/to/newuser.ldif</userinput>
<computeroutput>dn: uid=newuser,ou=People,dc=example,dc=com
uid: newuser
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: top
cn: New User
sn: User
ou: People
mail: newuser@example.com
userPassword: changeme</computeroutput>
$ <userinput>cat /path/to/neweruser.ldif</userinput>
<computeroutput>dn: uid=newuser,ou=People,dc=example,dc=com
uid: newuser
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: top
cn: New User
sn: User
ou: People
mail: newuser@example.com
userPassword: secret12
description: A new description.</computeroutput>
$ <userinput>ldif-diff -s /path/to/newuser.ldif -t /path/to/neweruser.ldif</userinput>
<computeroutput>dn: uid=newuser,ou=People,dc=example,dc=com
changetype: modify
add: userPassword
userPassword: secret12
-
delete: userPassword
userPassword: changeme
-
add: description
description: A new description.</computeroutput>
</screen>
</refsect1>
</refentry>