aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/manpages/gbp-pull.xml
blob: 1662383d4c674e1872b25c7c4590e809a13150c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
<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>--all</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>--track-missing</option></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>--all</option></term>
        <listitem>
	  <para>Update all remote-tracking branches that have identical name in the
            remote repository.</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>--track-missing</option></term>
        <listitem>
	  <para>
            If a branch is missing in the local repository try to
            fetch it from the remote side and (if it exists) fetch it and set up
            branch tracking for it. This ensures that branches that are added at a
            later point to the remote side (e.g.
            <replaceable>pristine-tar</replaceable>) are picked up automatically.
            Note that it's not an error for the branch to not exist on the remote
            side.
	  </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>