File: git-ubuntu-import.1

package info (click to toggle)
git-ubuntu 1.1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,688 kB
  • sloc: python: 13,378; sh: 480; makefile: 2
file content (221 lines) | stat: -rw-r--r-- 6,865 bytes parent folder | download
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
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
.TH "GIT-UBUNTU-IMPORT" "1" "2017-07-19" "Git-Ubuntu 0.2" "Git-Ubuntu Manual"

.SH "NAME"
git-ubuntu-import \- Import Launchpad publishing history to Git
.SH "SYNOPSIS"
.SP
.NF
\fIgit ubuntu import\fR [\-o | --lp-owner <owner>] [\-l | \-\-lp-user
<user>] [\-\-dl-cache <dl_cache>] [\-\-no-fetch] [\-\-push]
[\-\-no-clean] [\-d | \-\-directory <directory>]
[\-\-active-series-only] [\-\-skip-applied] [\-\-skip-orig]
[\-\-reimport] [\-\-allow-applied-failures] <package>
.FI
.SP
.SH "DESCRIPTION"
.SP
Import a source package's publication history from Launchpad into a
local \fBgit\fR(1) repository and push it to a remote repository\&.
.PP
The importer algorithm roughly looks like:
.IP
.RS 4
Fetch the \fBowner\fR repository for \fB<package>\fR\&.
.PP
For <distribution> in "Debian", "Ubuntu"\&:
.RS 4
.PP
For each <publish> in <distribution> since the most recent
patches-unapplied import in the local repository\&:
.RS 4
.PP
Import the orig tarballs for <publish> using "gbp import-orig
--pristine-tar", unless they have already been imported and the imported
tarballs are identical.
.PP
Find a <changelog parent>: the most recent changelog entry with a
corresponding patches-unapplied import\&.
.PP
Find an <upload parent>: an upload-tag in the repository for the same
version as <publish> with git-tree-identical contents as <publish>\&.
.PP
Commit the git tree corresponding to a patches-unapplied extraction of
<publish> using <changelog parent> and <upload parent> as parents\&.
.PP
If this is the first patches-unapplied import of a given version, create
a tag in refs/tags/import/ pointing to the new commit\&.
.PP
Update the patches-applied <distribution>/<publish's series>/<publish's
pocket> branch to the new commit\&.
.RE
.RE
.RE
.PP
.RS 4
For <distribution> in "Debian", "Ubuntu"\&:
.PP
For each <publish> in <distribution> since the most recent
patches-applied import in the local repository\&:
.RS 4
.PP
Find a <changelog parent>: the most recent changelog entry with a
corresponding patches-applied import\&.
.PP
Find an <unapplied parent>: the corresponding patches-unapplied import of
<publish>'s version\&.
.PP
Commit each git tree corresponding to the application of the next quilt
patch in <publish> using <changelog parent> and <unapplied parent> as
parents\&.
As each quilt patch is applied, the <unapplied parent> becomes the
result of the immediately prior patch's application\&.
.PP
If this is the first patches-applied import of a given version, create
a tag in refs/tags/applied/ pointing to the commit corresponding to the
application of the final quilt patch\&.
.PP
Update the patches-applied <distribution>/<publish>'s series/<publish>'s
pocket branch to the new commit\&.
.RE
.RE
.RE
.SP
.SH "OPTIONS"
.PP
\-o <owner>, --lp-owner <owner>
.RS 4
The Launchpad owner of the remote repository to fetch the current
repository from and push the resulting import to.
.RE
.PP
\-l <user>, \-\-lp-user <user>
.RS 4
The Launchpad user to authenticate as for push URLs as well as
the default personal remote to create\&.
If not specified, this value is obtained from "git config --global
gitubuntu.lpuser"\&.
If that config value is not set, a prompt is shown to obtain the
value\&.
.RE
.PP
\-\-dl-cache <dl_cache>
.RS 4
The path to use for caching downloads from Launchpad\&.
By default, downloads are cached inside the repository's GIT_DIR\&.
.RE
.PP
\-\-no-fetch
.RS 4
Do not fetch the \fB<owner>\fR's repository before importing\&.
.RE
.PP
\-\-push
.RS 4
Confirm that you want to push the resulting import to the <\fB<owner>\fR's
repository after importing\&. This is not the default since for local purposes
operating outside the importer service this is not usually wanted\&.
.RE
.PP
\-\-no-clean
.RS 4
Do not delete local directory used for the import upon completion.
.RE
.PP
\-d <directory>, \-\-directory <directory>
.RS 4
The local directory to perform the import in\&.
Implies --no-clean\&.
If not specified, use a temporary directory\&.
.RE
.PP
\-\-active-series-only
.RS 4
Rather than importing all publications from Launchpad, only consider
those for the currently active series\&.
This can be useful to just get a quick view of the current state in the
archive, as a full import can take a very long time\&.
.RE
.PP
\-\-skip-applied
.RS 4
Only perform the patches-unapplied portion of the algorithm in
\fBDESCRIPTION\fR\&.
This can be useful to just get a quick view of the current state in the
archive, as a full import can take a very long time\&.
.RE
.PP
\-\-skip-orig
.RS 4
Do not attempt to import the orig tarballs\&.
This can be useful to just get a quick view of the current state in the
archive, as a full import can take a very long time\&.
This option can be useful for \fBgit-ubuntu\fR(1) developers when
debugging issues with "gbp" or "pristine-tar"\&.
.RE
.PP
\-\-reimport
.RS 4
Reimport the given source package from scratch\&.
The reimport will still incorporate upload tags as currently present in
the remote repository\&.
This option is only intended for \fBgit-ubuntu\fR(1) developers and is
used when the SHA1s of commits must change due to an implementation
change in \fIgit ubuntu-import\fR\&.
A typical reimport of a repository (for safety) will look like:
.PP
.RS 4
git ubuntu import --reimport --no-clean <package>
.PP
This will leave a local directory with the resulting reimport\&.
The local directory should be examined for the reimport's success; in
particular, that upload tags are reincorporated in the new history\&.
.PP
git ubuntu import --reimport --no-fetch --directory <tempdir from prior
command>
.PP
This will use the local directory, which is current as of the prior
reimport, ensure it is still current (in case new publishes have
occurred) and forcibly \fBgit-push\fR the resulting repository to
\fB<owner>\fR's remote repository.
.RE
.RE
.PP
\-\-allow-applied-failures
.RS 4
Do not treat a patch application as a hard failure when importing the
patches-applied history\&.
As \fBdpkg-source\fR(1)'s (or other tool's) behavior has evolved over
time, it is possible that the version used by \fBgit ubuntu import\fR
is not able to reproduce the patch application of a historical
publication\&.
By default, such a failure will stop the historical import for the
patches-applied branch, to allow a \fBgit ubuntu\fR developer to
investigate\&.
After investigation, this flag can be used to indicate the importer is
allowed to ignore such a failure\&.
.RE
.PP
<package>
.RS 4
The name of the source package to import\&.
.RE
.SP
.SH "EXIT STATUS"
.SP
\fIgit ubuntu import\fR exits with status 0 if the import completes
successfully\&.
\fIgit ubuntu import\fR exits with nonzero exit status on errors\&.
.SP
.SH "REPORTING BUGS"
.SP
Report bugs at
.UR https://bugs.launchpad.net/git-ubuntu
.UE
\.
.SP
.SH "SEE ALSO"
.SP
\fBquilt\fR(1)
.SP
.SH "GIT-UBUNTU"
Part of the \fBgit-ubuntu\fR(1) suite