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

    <refpurpose>Safely update a repository from remote</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
    <cmdsynopsis>
      &gbp-pull;

      &man.common.options.synopsis;
      <arg><option>--force</option></arg>
      <arg><option>--redo-pq</option></arg>
      <arg><option>--[no-]pristine-tar</option></arg>
      <arg><option>--ignore-branch</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><replaceable>repository</replaceable></arg>
    </cmdsynopsis>
  </refsynopsisdiv>
  <refsect1>
    <title>DESCRIPTION</title>
    <para>
    &gbp-pull; updates the <emphasis>debian</emphasis>,
    <emphasis>upstream</emphasis> and <emphasis>pristine-tar</emphasis>
    branches from remote repositories in one go. It checks if the update is safe (would
    result in a <emphasis>fast-forward</emphasis> merge) and aborts otherwise.
    </para>
    <para>
      If given on the command line the changes are fetched from the
      given repository otherwise the default
      for <replaceable>repository</replaceable> is read from
      the <replaceable>remote</replaceable> configuration for each
      branch (in git's configuration).
    </para>
  </refsect1>
  <refsect1>
    <title>OPTIONS</title>

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

      <varlistentry>
        <term><option>--force</option></term>
        <listitem>
	  <para>force a branch update even if this results in a non fast
	  forward update. <warning><para>Forcing a branch update
	  makes you lose your modifications.</para></warning></para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--redo-pq</option></term>
        <listitem>
	  <para>also rebuild the corresponding patch-queue using &gbp-pq;.
	  <warning><para>This drops the patch-queue branch if it exists.</para></warning></para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--ignore-branch</option>
        </term>
        <listitem>
	  <para>Don't care if we're on a branch or in detached head state.</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 deepening shallow git clones.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--pristine-tar</option>
        </term>
        <listitem>
          <para>Whether to update the pristine-tar branch too.</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>
  <refsect1>
    <title>EXIT CODES</title>
    <para>
    When &gbp-pull; finishes, it indicates success or failure with its exit code:
    </para>
    <variablelist>
      <varlistentry>
        <term><option>0</option></term>
        <listitem>
	  <para>Success.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>1</option></term>
        <listitem>
	  <para>An error occurred during the pull, see the printed error message for details.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>2</option></term>
        <listitem>
	  <para>At least one branch couldn't be fast forwarded.</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>
  <refsect1>
      &man.gbp.config-files;
  </refsect1>
  <refsect1>
    <title>SEE ALSO</title>
    <para>
      <xref linkend="man.gbp.buildpackage"/>,
      <xref linkend="man.gbp.clone"/>,
      <xref linkend="man.gbp.pq"/>,
      <xref linkend="man.gbp.conf"/>
    </para>
  </refsect1>
  <refsect1>
    <title>AUTHOR</title>

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

  </refsect1>
</refentry>
