<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<!--
Copyright 2014 Anne LoVerso <anne.loverso@students.olin.edu>

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
-->

<refentry id="ostree">

    <refentryinfo>
        <title>ostree prune</title>
        <productname>OSTree</productname>

        <authorgroup>
            <author>
                <contrib>Developer</contrib>
                <firstname>Colin</firstname>
                <surname>Walters</surname>
                <email>walters@verbum.org</email>
            </author>
        </authorgroup>
    </refentryinfo>

    <refmeta>
        <refentrytitle>ostree prune</refentrytitle>
        <manvolnum>1</manvolnum>
    </refmeta>

    <refnamediv>
        <refname>ostree-prune</refname>
        <refpurpose>Search for unreachable objects</refpurpose>
    </refnamediv>

    <refsynopsisdiv>
            <cmdsynopsis>
                <command>ostree prune</command> <arg choice="opt" rep="repeat">OPTIONS</arg>
            </cmdsynopsis>
    </refsynopsisdiv>

    <refsect1>
        <title>Description</title>

        <para>
            This searches for unreachable objects in the current repository.  If unreachable objects are found, the command delete them to free space.  If the <option>--no-prune</option> option is invoked, the command will just print unreachable objects and recommend deleting them.
        </para>
    </refsect1>

    <refsect1>
        <title>Options</title>

        <variablelist>
            <varlistentry>
                <term><option>--no-prune</option></term>

                <listitem><para>
                    Only display unreachable objects; don't delete.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--refs-only</option></term>

                <listitem><para>
                    Only compute reachability via refs.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--delete-commit</option>=COMMIT</term>

                <listitem><para>
                    Specify a COMMIT to delete.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--keep-younger-than</option>=DATE</term>

                <listitem><para>
		  All commits older than DATE will be
                  pruned.  The format of DATE is the same as that
                  accepted by GNU <literal>date</literal> utility - for more information
                  see <literal>info date</literal>.
		</para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--depth</option>=DEPTH</term>

                <listitem><para>
                    Only traverse DEPTH (integer) parents for each commit (default: -1=infinite).
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--static-deltas-only</option>=DEPTH</term>

                <listitem><para>
                  Change the behaviour of --keep-younger-than and --delete-commit to prune only
                  the static deltas files.
                </para></listitem>
            </varlistentry>
        </variablelist>
    </refsect1>

<!-- Can we have an example for when it DOES prune? -->
    <refsect1>
        <title>Example</title>
        <para><command>$ ostree prune</command></para>
<programlisting>
        Total objects: 25627
        No unreachable objects
</programlisting>
    </refsect1>
</refentry>
