<refentry id="man.gbp.clone">
  <refentryinfo>
    <address>
      &dhemail;
    </address>
    <author>
      &dhfirstname;
      &dhsurname;
    </author>
  </refentryinfo>
  <refmeta>
   <refentrytitle>gbp-clone</refentrytitle>
    &dhsection;
  </refmeta>
  <refnamediv>
    <refname>gbp-clone</refname>

    <refpurpose>Clone a repository from remote</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
    <cmdsynopsis>
      &gbp-clone;

      &man.common.options.synopsis;
      <arg><option>--all</option></arg>
      <arg><option>--[no-]pristine-tar</option></arg>
      <arg><option>--debian-branch=</option><replaceable>branch_name</replaceable></arg>
      <arg><option>--upstream-branch=</option><replaceable>branch_name</replaceable></arg>
      <arg><option>--depth=</option><replaceable>depth</replaceable></arg>
      <arg><option>--reference=</option><replaceable>repository</replaceable></arg>
      <arg><option>--postclone=</option><replaceable>COMMAND</replaceable></arg>
      <arg><option>--[no-]hooks</option></arg>
      <arg><option>--repo-user=</option><option>[GIT|DEBIAN]</option></arg>
      <arg><option>--repo-email=</option><option>[GIT|DEBIAN]</option></arg>
      <arg choice="plain"><replaceable>repository</replaceable></arg>
      <arg><replaceable>directory</replaceable></arg>
    </cmdsynopsis>
  </refsynopsisdiv>
  <refsect1>
    <title>DESCRIPTION</title>
    <para>
    &gbp-clone; clones a remote repository and sets up tracking branches for
    the <emphasis>debian</emphasis>, <emphasis>upstream</emphasis> and
    <emphasis>pristine-tar</emphasis> branches. This way you can easily update
    later using &gbp-pull;.
    </para>
  </refsect1>
  <refsect1>
    <title>OPTIONS</title>

    <variablelist>
      &man.common.options.description;

      <varlistentry>
        <term><option>--all</option>
        </term>
        <listitem>
	  <para>Track all branches, not only <replaceable>debian</replaceable>
	  and <replaceable>upstream</replaceable>.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--debian-branch</option>=<replaceable>branch_name</replaceable>
        </term>
        <listitem>
	  <para>The branch in the Git repository the Debian package is being
	  developed on, default is <replaceable>master</replaceable>.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--upstream-branch</option>=<replaceable>branch_name</replaceable>
        </term>
        <listitem>
	  <para>The branch in the &git; repository the upstream sources are put
	  onto. Default is <replaceable>upstream</replaceable>.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--depth</option>=<replaceable>depth</replaceable>
        </term>
        <listitem>
          <para>Git history depth, for creating shallow git clones.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--reference</option>=<replaceable>repository</replaceable>
        </term>
        <listitem>
          <para>Local repository to use as alternate instead of re-copying data from remote repository.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--pristine-tar</option>
        </term>
        <listitem>
          <para>Track pristine tar branch.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
	<term><option>--[no-]hooks</option></term>
	<listitem>
          <para>
            Enable running hooks.
          </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>--postclone=</option><replaceable>COMMAND</replaceable></term>
	<listitem>
          <para>
            Execute <replaceable>COMMAND</replaceable> after cloning the source
            from the remote.
          </para>
          <para>
            Exported environment variables are: <envar>GBP_GIT_DIR</envar> (the
            repository the package is being built from).
          </para>
	  <para>Note that if you clone a repository that contains a
	    hook configuration in <filename>debian/gbp.conf</filename>
	    this hook will not be run automatically to prevent execution
	    of untrusted code.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>--repo-email=</option><option>[GIT|DEBIAN]</option></term>
        <listitem>
          <para>
	    When set to <option>DEBIAN</option>
	    use the <envar>DEBEMAIL</envar> environment variable to set the
	    user.email &git; configuration otherwise use &git;'s
	    defaults.
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
	<term><option>--repo-user=</option><option>[GIT|DEBIAN]</option></term>
        <listitem>
          <para>
	    When set to <option>DEBIAN</option>
	    use the <envar>DEBUSER</envar> environment variable to set the
	    user.name &git; configuration otherwise use &git;'s
	    defaults.
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
	<term><replaceable>repository</replaceable></term>
	<listitem>
          <para>
	    The (possibly remote) repository to clone from. This is
	    usually a &git; URL but some shortcuts are supported (see below).
          </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><replaceable>directory</replaceable></term>
	<listitem>
          <para>
	    The directory to clone to.
          </para>
	</listitem>
      </varlistentry>
    </variablelist>
  </refsect1>
    <refsect1>
    <title>EXAMPLES</title>
    <para>
      Clone a repository and setup a tracking branch for pristine-tar
      as well:
    </para>
    <screen>
      &gbp-clone; --pristine-tar git://honk.sigxcpu.org/git/git-buildpackage.git</screen>
    <para>
      Clone from the <emphasis>Git-Vcs</emphasis> URL of a package:
    </para>
    <screen>
      &gbp-clone; vcsgit:libvirt</screen>
    <para>
      Clone from a github repository:
    </para>
    <screen>
      &gbp-clone; github:agx/git-buildpackage</screen>
  </refsect1>
  <refsect1>
      &man.gbp.config-files;
  </refsect1>
  <refsect1>
    <title>SEE ALSO</title>
    <para>
      <xref linkend="man.gbp.buildpackage"/>,
      <xref linkend="man.gbp.pull"/>,
      <xref linkend="man.gbp.conf"/>
    </para>
  </refsect1>
  <refsect1>
    <title>AUTHOR</title>

    <para>&dhusername; &dhemail;</para>

  </refsect1>
</refentry>
