<!DOCTYPE html>
<html>
<!-- This is an automatically generated file.  Do not edit.
   zipcmp.mdoc -- compare zip archives
   Copyright (C) 2003-2019 Dieter Baron and Thomas Klausner
  
   This file is part of libzip, a library to manipulate ZIP archives.
   The authors can be contacted at <libzip@nih.at>
  
   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:
   1. Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
   2. 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.
   3. The names of the authors may not be used to endorse or promote
      products derived from this software without specific prior
      written permission.
  
   THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``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 AUTHORS 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.
   -->
<head>
  <meta charset="utf-8"/>
  <link rel="stylesheet" href="../nih-man.css" type="text/css" media="all"/>
  <title>ZIPCMP(1)</title>
</head>
<body>
<table class="head">
  <tr>
    <td class="head-ltitle">ZIPCMP(1)</td>
    <td class="head-vol">General Commands Manual</td>
    <td class="head-rtitle">ZIPCMP(1)</td>
  </tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<code class="Nm">zipcmp</code> &#x2014;
<div class="Nd">compare contents of zip archives</div>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<table class="Nm">
  <tr>
    <td><code class="Nm">zipcmp</code></td>
    <td>[<code class="Fl">-hipqtVv</code>] <var class="Ar">archive1
      archive2</var></td>
  </tr>
</table>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<code class="Nm">zipcmp</code> compares the zip archives or directories
  <var class="Ar">archive1</var> and <var class="Ar">archive2</var> and checks
  if they contain the same files, comparing their names, uncompressed sizes, and
  CRCs. File order and compressed size differences are ignored.
<p class="Pp">Supported options:</p>
<dl class="Bl-tag">
  <dt><a class="permalink" href="#h"><code class="Fl" id="h">-h</code></a></dt>
  <dd>Display a short help message and exit.</dd>
  <dt><a class="permalink" href="#i"><code class="Fl" id="i">-i</code></a></dt>
  <dd>Compare names ignoring case distinctions.</dd>
  <dt><a class="permalink" href="#p"><code class="Fl" id="p">-p</code></a></dt>
  <dd>Enable paranoid checks. Compares extra fields and other meta data.
      (Automatically disabled if one of the archives is a directory.)</dd>
  <dt><a class="permalink" href="#q"><code class="Fl" id="q">-q</code></a></dt>
  <dd>Quiet mode. Compare <code class="Fl">-v</code>.</dd>
  <dt><a class="permalink" href="#t"><code class="Fl" id="t">-t</code></a></dt>
  <dd>Test zip files by comparing the contents to their checksums.</dd>
  <dt><a class="permalink" href="#V"><code class="Fl" id="V">-V</code></a></dt>
  <dd>Display version information and exit.</dd>
  <dt><a class="permalink" href="#v"><code class="Fl" id="v">-v</code></a></dt>
  <dd>Verbose mode. Print details about differences to stdout. (This is the
      default.)</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="EXIT_STATUS"><a class="permalink" href="#EXIT_STATUS">EXIT
  STATUS</a></h1>
<code class="Nm">zipcmp</code> exits 0 if the two archives contain the same
  files, 1 if they differ, and &gt;1 if an error occurred.
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
  ALSO</a></h1>
<a class="Xr" href="zipmerge.html">zipmerge(1)</a>,
  <a class="Xr" href="ziptool.html">ziptool(1)</a>,
  <a class="Xr" href="libzip.html">libzip(3)</a>
</section>
<section class="Sh">
<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
<code class="Nm">zipcmp</code> was added in libzip 0.6.
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<span class="An">Dieter Baron</span>
  &lt;<a class="Mt" href="mailto:dillo@nih.at">dillo@nih.at</a>&gt; and
  <span class="An">Thomas Klausner</span>
  &lt;<a class="Mt" href="mailto:tk@giga.or.at">tk@giga.or.at</a>&gt;
</section>
</div>
<table class="foot">
  <tr>
    <td class="foot-date">December 18, 2017</td>
    <td class="foot-os">NiH</td>
  </tr>
</table>
</body>
</html>
