chiark / gitweb /
dgit: Do not sometimes crash in quilt-fixup if git-debrebase missing
[dgit.git] / po4a / dgit_7.pot
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 #, fuzzy
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2018-10-04 01:04+0100\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: TH
20 #: ../dgit.1:2 ../dgit.7:1
21 #, no-wrap
22 msgid "dgit"
23 msgstr ""
24
25 #. type: TH
26 #: ../dgit.1:2 ../dgit.7:1
27 #, no-wrap
28 msgid "Debian Project"
29 msgstr ""
30
31 #. type: =head1
32 #: ../dgit.1:3 ../dgit.7:2 ../dgit-user.7.pod:1 ../dgit-nmu-simple.7.pod:1
33 #: ../dgit-maint-native.7.pod:1 ../dgit-maint-merge.7.pod:1
34 #: ../dgit-maint-gbp.7.pod:1 ../dgit-maint-debrebase.7.pod:1
35 #: ../dgit-downstream-dsc.7.pod:1 ../dgit-sponsorship.7.pod:1
36 #: ../git-debrebase.1.pod:1 ../git-debrebase.5.pod:1
37 #, no-wrap
38 msgid "NAME"
39 msgstr ""
40
41 #. type: =head1
42 #: ../dgit.1:1394 ../dgit.7:23 ../dgit-user.7.pod:447
43 #: ../dgit-nmu-simple.7.pod:137 ../dgit-maint-native.7.pod:126
44 #: ../dgit-maint-merge.7.pod:491 ../dgit-maint-gbp.7.pod:136
45 #: ../dgit-maint-debrebase.7.pod:722 ../dgit-downstream-dsc.7.pod:352
46 #: ../dgit-sponsorship.7.pod:321 ../git-debrebase.1.pod:601
47 #: ../git-debrebase.5.pod:678
48 #, no-wrap
49 msgid "SEE ALSO"
50 msgstr ""
51
52 #. type: Plain text
53 #: ../dgit.7:4
54 msgid "dgit - principles of operation"
55 msgstr ""
56
57 #. type: =head1
58 #: ../dgit.7:4 ../dgit-user.7.pod:27 ../dgit-nmu-simple.7.pod:35
59 #, no-wrap
60 msgid "SUMMARY"
61 msgstr ""
62
63 #. type: Plain text
64 #: ../dgit.7:14
65 msgid ""
66 "B<dgit> treats the Debian archive as a version control system, and "
67 "bidirectionally gateways between the archive and git.  The git view of the "
68 "package can contain the usual upstream git history, and will be augmented by "
69 "commits representing uploads done by other developers not using dgit.  This "
70 "git history is stored in a canonical location known as B<dgit-repos> which "
71 "lives on a dedicated git server."
72 msgstr ""
73
74 #. type: Plain text
75 #: ../dgit.7:23
76 msgid ""
77 "git branches suitable for use with dgit can be edited directly in git, and "
78 "used directly for building binary packages.  They can be shared using all "
79 "conventional means for sharing git branches.  It is not necessary to use "
80 "dgit to work with dgitish git branches.  However, dgit is (usually) needed "
81 "in order to convert to or from Debian-format source packages."
82 msgstr ""
83
84 #. type: TP
85 #: ../dgit.7:24
86 #, no-wrap
87 msgid "B<dgit>(1)"
88 msgstr ""
89
90 #. type: Plain text
91 #: ../dgit.7:27
92 msgid "Reference manual and documentation catalogue."
93 msgstr ""
94
95 #. type: TP
96 #: ../dgit.7:27
97 #, no-wrap
98 msgid "B<dgit-*(7)>"
99 msgstr ""
100
101 #. type: Plain text
102 #: ../dgit.7:30
103 msgid "Tutorials and workflow guides.  See dgit(1) for a list."
104 msgstr ""
105
106 #. type: SH
107 #: ../dgit.7:30
108 #, no-wrap
109 msgid "MODEL"
110 msgstr ""
111
112 #. type: Plain text
113 #: ../dgit.7:33
114 msgid ""
115 "You may use any suitable git workflow with dgit, provided you satisfy dgit's "
116 "requirements:"
117 msgstr ""
118
119 #. type: Plain text
120 #: ../dgit.7:38
121 msgid ""
122 "dgit maintains a pseudo-remote called B<dgit>, with one branch per suite.  "
123 "This remote cannot be used with plain git."
124 msgstr ""
125
126 #. type: Plain text
127 #: ../dgit.7:45
128 msgid ""
129 "The B<dgit-repos> repository for each package contains one ref per suite "
130 "named B<refs/dgit/>I<suite>.  These should be pushed to only by dgit.  They "
131 "are fast forwarding.  Each push on this branch corresponds to an upload (or "
132 "attempted upload)."
133 msgstr ""
134
135 #. type: Plain text
136 #: ../dgit.7:49
137 msgid ""
138 "However, it is perfectly fine to have other branches in dgit-repos; normally "
139 "the dgit-repos repo for the package will be accessible via the remote name "
140 "`origin'."
141 msgstr ""
142
143 #. type: Plain text
144 #: ../dgit.7:55
145 msgid ""
146 "dgit push will also make signed tags called B<archive/debian/>I<version> "
147 "(with version encoded a la DEP-14)  and push them to dgit-repos.  These are "
148 "used at the server to authenticate pushes."
149 msgstr ""
150
151 #. type: Plain text
152 #: ../dgit.7:65
153 msgid ""
154 "Uploads made by dgit contain an additional field B<Dgit> in the source "
155 "package .dsc.  (This is added by dgit push.)  This specifies: a commit (an "
156 "ancestor of the dgit/suite branch) whose tree is identical to the unpacked "
157 "source upload; the distro to which the upload was made; a tag name which can "
158 "be used to fetch the git commits; and a url to use as a hint for the dgit "
159 "git server for that distro."
160 msgstr ""
161
162 #. type: Plain text
163 #: ../dgit.7:77
164 msgid ""
165 "Uploads not made by dgit are represented in git by commits which are "
166 "synthesised by dgit.  The tree of each such commit corresponds to the "
167 "unpacked source; there is a commit with the contents, and a pseudo-merge "
168 "from last known upload - that is, from the contents of the dgit/suite "
169 "branch.  Depending on the source package format, the contents commit may "
170 "have a more complex structure, but ultimately it will be a convergence of "
171 "stubby branches from origin commits representing the components of the "
172 "source package."
173 msgstr ""
174
175 #. type: Plain text
176 #: ../dgit.7:82
177 msgid ""
178 "dgit expects trees that it works with to have a B<dgit> (pseudo) remote.  "
179 "This refers to the dgit-created git view of the corresponding archive."
180 msgstr ""
181
182 #. type: Plain text
183 #: ../dgit.7:91
184 msgid ""
185 "The dgit archive tracking view is synthesised locally, on demand, by each "
186 "copy of dgit.  The tracking view is always a descendant of the dgit-repos "
187 "suite branch (if one exists), but may be ahead of it if uploads have been "
188 "done without dgit.  The archive tracking view is always fast forwarding "
189 "within each suite."
190 msgstr ""
191
192 #. type: Plain text
193 #: ../dgit.7:94
194 msgid ""
195 "dgit push can operate on any commit which is a descendant of the suite "
196 "tracking branch."
197 msgstr ""
198
199 #. type: Plain text
200 #: ../dgit.7:105
201 msgid ""
202 "dgit does not make a systematic record of its imports of orig tarball(s).  "
203 "So it does not work by finding git tags or branches referring to orig "
204 "tarball(s).  The orig tarballs are downloaded (by dgit clone) into the "
205 "parent directory, as with a traditional (non-gitish) dpkg-source workflow.  "
206 "You need to retain these tarballs in the parent directory for dgit build and "
207 "dgit push.  (They are not needed for purely-git-based workflows.)"
208 msgstr ""
209
210 #. type: Plain text
211 #: ../dgit.7:112
212 msgid ""
213 "dgit repositories could be cloned with standard (git) methods.  However, the "
214 "dgit repositories do not contain uploads not made with dgit.  And for "
215 "sourceful builds / uploads the orig tarball(s) will need to be present in "
216 "the parent directory."
217 msgstr ""
218
219 #. type: Plain text
220 #: ../dgit.7:119
221 msgid ""
222 "To a user looking at the archive, changes pushed in a simple NMU using dgit "
223 "look like reasonable changes made in an NMU: in a `3.0 (quilt)' package the "
224 "delta from the previous upload is recorded in new patch(es) constructed by "
225 "dpkg-source."
226 msgstr ""
227
228 #. type: SH
229 #: ../dgit.7:119
230 #, no-wrap
231 msgid "COMBINED SUITES"
232 msgstr ""
233
234 #. type: Plain text
235 #: ../dgit.7:124
236 msgid ""
237 "dgit can synthesize a combined view of several underlying suites.  This is "
238 "requested by specifying, for I<suite,> a comma-separated list:"
239 msgstr ""
240
241 #. type: Plain text
242 #: ../dgit.7:126
243 msgid "I<mainsuite>B<,>I<subsuite>..."
244 msgstr ""
245
246 #. type: Plain text
247 #: ../dgit.7:128
248 msgid "This facility is available with dgit clone, fetch and pull, only."
249 msgstr ""
250
251 #. type: Plain text
252 #: ../dgit.7:138
253 msgid ""
254 "dgit will fetch the same package from each specified underlying suite, "
255 "separately (as if with dgit fetch).  dgit will then generate a pseudomerge "
256 "commit on the tracking branch B<remotes/dgit/dgit/>I<suite> which has the "
257 "tip of each of the underlying suites as an ancestor, and which contains the "
258 "same as the suite which has the highest version of the package."
259 msgstr ""
260
261 #. type: Plain text
262 #: ../dgit.7:141
263 msgid ""
264 "The package must exist in mainsuite, but need not exist in the subsuites."
265 msgstr ""
266
267 #. type: Plain text
268 #: ../dgit.7:145
269 msgid "If a specified subsuite starts with B<-> then mainsuite is prepended."
270 msgstr ""
271
272 #. type: Plain text
273 #: ../dgit.7:153
274 msgid ""
275 "So, for example, B<stable,-security> means to look for the package in "
276 "stable, and stable-security, taking whichever is newer.  If stable is "
277 "currently jessie, dgit clone would leave you on the branch B<dgit/jessie,-"
278 "security>."
279 msgstr ""
280
281 #. type: Plain text
282 #: ../dgit.7:161
283 msgid ""
284 "Combined suites are not supported by the dgit build operations.  This is "
285 "because those options are intended for building for uploading source "
286 "packages, and look in the changelog to find the relevant suite.  It does not "
287 "make sense to name a dgit-synthesised combined suite in a changelog, or to "
288 "try to upload to it."
289 msgstr ""
290
291 #. type: Plain text
292 #: ../dgit.7:166
293 msgid ""
294 "When using this facility, it is important to always specify the same suites "
295 "in the same order: dgit will not be make a coherent fast-forwarding history "
296 "view otherwise."
297 msgstr ""
298
299 #. type: Plain text
300 #: ../dgit.7:170
301 msgid ""
302 "The history generated by this feature is not normally suitable for merging "
303 "back into upstreams, as it necessarily contains unattractive pseudomerges."
304 msgstr ""
305
306 #. type: SH
307 #: ../dgit.7:170
308 #, no-wrap
309 msgid "LIMITATIONS"
310 msgstr ""
311
312 #. type: Plain text
313 #: ../dgit.7:183
314 msgid ""
315 "Because the synthesis of the suite tracking branches is done locally based "
316 "only on the current archive state, it will not necessarily see every upload "
317 "not done with dgit.  Also, different versions of dgit (or the software it "
318 "calls)  might import the same .dscs differently (although we try to minimise "
319 "this).  As a consequence, the dgit tracking views of the same suite, made by "
320 "different instances of dgit, may vary.  They will have the same contents, "
321 "but may have different history."
322 msgstr ""
323
324 #. type: Plain text
325 #: ../dgit.7:192
326 msgid ""
327 "There is no uniform linkage between the tracking branches for different "
328 "suites.  The Debian infrastructure does not do any automatic import of "
329 "uploads made without dgit.  It would be possible for a distro's "
330 "infrastructure to do this; in that case, different dgit client instances "
331 "would see exactly the same history."
332 msgstr ""
333
334 #. type: Plain text
335 #: ../dgit.7:200
336 msgid ""
337 "There has been no bulk import of historical uploads into Debian's dgit "
338 "infrastructure.  To do this it would be necessary to decide whether to "
339 "import existing vcs history (which might not be faithful to dgit's "
340 "invariants)  or previous non-Dgit uploads (which would not provide a very "
341 "rich history)."
342 msgstr ""
343
344 #. type: Plain text
345 #: ../dgit.7:211
346 msgid ""
347 "git represents only file executability.  git does not represent empty "
348 "directories, or any leaf objects other than plain files and symlinks.  The "
349 "behaviour of Debian source package formats on objects with unusual "
350 "permissions is complicated.  Some pathological Debian source packages will "
351 "no longer build if empty directories are pruned (or if other things not "
352 "reproduced by git are changed).  Such sources cannot be worked with properly "
353 "in git, and therefore not with dgit either."
354 msgstr ""
355
356 #. type: SH
357 #: ../dgit.7:211
358 #, no-wrap
359 msgid "READ-ONLY DISTROS"
360 msgstr ""
361
362 #. type: Plain text
363 #: ../dgit.7:215
364 msgid ""
365 "Distros which do not maintain a set of dgit history git repositories can "
366 "still be used in a read-only mode with dgit.  Currently Ubuntu is configured "
367 "this way."
368 msgstr ""
369
370 #. type: SH
371 #: ../dgit.7:215
372 #, no-wrap
373 msgid "GITATTRIBUTES"
374 msgstr ""
375
376 #. type: Plain text
377 #: ../dgit.7:223
378 msgid ""
379 "git has features which can automatically transform files as they are being "
380 "copied between the working tree and the git history.  The attributes can be "
381 "specified in the source tree itself, in B<.gitattributes>.  See "
382 "B<gitattributes>(5)."
383 msgstr ""
384
385 #. type: Plain text
386 #: ../dgit.7:232
387 msgid ""
388 "These transformations are context-sensitive and not, in general, reversible, "
389 "so dgit operates on the principle that the dgit git history contains the "
390 "actual contents of the package.  (When dgit is manipulating a .dsc, it does "
391 "so in a private area, where the transforming gitattributes are defused, to "
392 "achieve this.)"
393 msgstr ""
394
395 #. type: Plain text
396 #: ../dgit.7:241
397 msgid ""
398 "If transforming gitattributes are used, they can cause trouble, because the "
399 "working tree files can differ from the git revision history (and therefore "
400 "from the source packages).  dgit warns if it finds a .gitattributes file (in "
401 "a package being fetched or imported), unless the transforming gitattributes "
402 "have been defused."
403 msgstr ""
404
405 #. type: Plain text
406 #: ../dgit.7:252
407 msgid ""
408 "dgit clone and dgit setup-new-tree disable transforming gitattributes by "
409 "default, by creating a suitable .git/info/attributes.  See B<dgit setup-new-"
410 "tree> and B<dgit setup-gitattributes> in dgit(1)."
411 msgstr ""
412
413 #. type: Plain text
414 #: ../dgit.7:262
415 msgid ""
416 "Note that dgit does not disable gitattributes unless they would actually "
417 "interfere with your work on dgit branches.  In particular, gitattributes "
418 "which affect B<git archive> are not disabled, so .origs you generate by hand "
419 "can be wrong.  You should consider using B<git-deborig (1)> which gets this "
420 "right, suppressing the attributes."
421 msgstr ""
422
423 #. type: SH
424 #: ../dgit.7:262
425 #, no-wrap
426 msgid "PACKAGE SOURCE FORMATS"
427 msgstr ""
428
429 #. type: Plain text
430 #: ../dgit.7:267
431 msgid ""
432 "If you are not the maintainer, you do not need to worry about the source "
433 "format of the package.  You can just make changes as you like in git.  If "
434 "the package is a `3.0 (quilt)' package, the patch stack will usually not be "
435 "represented in the git history."
436 msgstr ""
437
438 #. type: SH
439 #: ../dgit.7:267
440 #, no-wrap
441 msgid "FILE EXECUTABILITY"
442 msgstr ""
443
444 #. type: Plain text
445 #: ../dgit.7:274
446 msgid ""
447 "Debian source package formats do not always faithfully reproduce changes to "
448 "executability.  But dgit insists that the result of dgit clone is identical "
449 "(as far as git can represent - see Limitations, above)  to the result of "
450 "dpkg-source -x."
451 msgstr ""
452
453 #. type: Plain text
454 #: ../dgit.7:280
455 msgid ""
456 "So files that are executable in your git tree must be executable in the "
457 "result of dpkg-source -x (but often aren't).  If a package has such "
458 "troublesome files, they have to be non-executable in dgit-compatible git "
459 "branches."
460 msgstr ""
461
462 #. type: SH
463 #: ../dgit.7:280
464 #, no-wrap
465 msgid "FORMAT 3.0 (QUILT)"
466 msgstr ""
467
468 #. type: Plain text
469 #: ../dgit.7:284
470 msgid ""
471 "For a format `3.0 (quilt)' source package, dgit may have to make a commit on "
472 "your current branch to contain metadata used by quilt and dpkg-source."
473 msgstr ""
474
475 #. type: Plain text
476 #: ../dgit.7:291
477 msgid ""
478 "This is because `3.0 (quilt)' source format represents the patch stack as "
479 "files in debian/patches/ actually inside the source tree.  This means that, "
480 "taking the whole tree (as seen by git or ls) (i)  dpkg-source cannot "
481 "represent certain trees, and (ii) packing up a tree in `3.0 (quilt)' and "
482 "then unpacking it does not always yield the same tree."
483 msgstr ""
484
485 #. type: Plain text
486 #: ../dgit.7:296
487 msgid ""
488 "dgit will automatically work around this for you when building and pushing.  "
489 "The only thing you need to know is that dgit build, sbuild, etc., may make "
490 "new commits on your HEAD.  If you're not a quilt user this commit won't "
491 "contain any changes to files you care about."
492 msgstr ""
493
494 #. type: Plain text
495 #: ../dgit.7:303
496 msgid ""
497 "Simply commiting to source files (whether in debian/ or not, but not to "
498 "patches)  will result in a branch that dgit quilt-fixup can linearise.  "
499 "Other kinds of changes, including editing patches or merging, cannot be "
500 "handled this way."
501 msgstr ""
502
503 #. type: Plain text
504 #: ../dgit.7:306
505 msgid ""
506 "You can explicitly request that dgit do just this fixup, by running dgit "
507 "quilt-fixup."
508 msgstr ""
509
510 #. type: Plain text
511 #: ../dgit.7:313
512 msgid ""
513 "If you are a quilt user you need to know that dgit's git trees are `patches "
514 "applied packaging branches' and do not contain the .pc directory (which is "
515 "used by quilt to record which patches are applied).  If you want to "
516 "manipulate the patch stack you probably want to be looking at tools like git-"
517 "debrebase, gbp pq, or git-dpm."
518 msgstr ""
519
520 #. type: SS
521 #: ../dgit.7:314
522 #, no-wrap
523 msgid "quilt fixup error messages"
524 msgstr ""
525
526 #. type: Plain text
527 #: ../dgit.7:316
528 msgid "When dgit's quilt fixup fails, it prints messages like this:"
529 msgstr ""
530
531 #. type: Plain text
532 #: ../dgit.7:322
533 #, no-wrap
534 msgid ""
535 "dgit: base trees orig=5531f03d8456b702eab6 o+d/p=135338e9cc253cc85f84\n"
536 "dgit: quilt differences: src:  == orig ##     gitignores:  == orig ##\n"
537 "dgit: quilt differences:      HEAD ## o+d/p               HEAD ## o+d/p\n"
538 "starting quiltify (multiple patches, linear mode)\n"
539 msgstr ""
540
541 #. type: Plain text
542 #: ../dgit.7:325
543 #, no-wrap
544 msgid ""
545 "dgit: error: quilt fixup cannot be linear.  Stopped at:\n"
546 "dgit:  696c9bd5..84ae8f96: changed debian/patches/test-gitignore\n"
547 msgstr ""
548
549 #. type: TP
550 #: ../dgit.7:327
551 #, no-wrap
552 msgid "B<orig>"
553 msgstr ""
554
555 #. type: Plain text
556 #: ../dgit.7:333
557 msgid ""
558 "is an import of the .orig tarballs dgit found, with the debian/ directory "
559 "from your HEAD substituted.  This is a git tree object, not a commit: you "
560 "can pass its hash to git-diff but not git-log."
561 msgstr ""
562
563 #. type: TP
564 #: ../dgit.7:334
565 #, no-wrap
566 msgid "B<o+d/p>"
567 msgstr ""
568
569 #. type: Plain text
570 #: ../dgit.7:339
571 msgid ""
572 "is another tree object, which is the same as orig but with the patches from "
573 "debian/patches applied."
574 msgstr ""
575
576 #. type: TP
577 #: ../dgit.7:340
578 #, no-wrap
579 msgid "B<HEAD>"
580 msgstr ""
581
582 #. type: Plain text
583 #: ../dgit.7:343
584 msgid "is of course your own git HEAD."
585 msgstr ""
586
587 #. type: TP
588 #: ../dgit.7:344
589 #, no-wrap
590 msgid "B<quilt differences>"
591 msgstr ""
592
593 #. type: Plain text
594 #: ../dgit.7:353
595 msgid ""
596 "shows whether each of the these trees differs from the others (i) in "
597 "upstream files excluding .gitignore files; (ii) in upstream .gitignore "
598 "files.  B<==> indicates equality; B<##> indicates inequality."
599 msgstr ""
600
601 #. type: Plain text
602 #: ../dgit.7:360
603 msgid ""
604 "dgit quilt-fixup --quilt=linear walks commits backwards from your HEAD "
605 "trying to construct a linear set of additional patches, starting at the "
606 "end.  It hopes to eventually find an ancestor whose tree is identical to o+d/"
607 "p in all upstream files."
608 msgstr ""
609
610 #. type: Plain text
611 #: ../dgit.7:371
612 msgid ""
613 "In the error message, 696c9bd5..84ae8f96 is the first commit child-parent "
614 "edge which cannot be sensibly be either ignored, or turned into a patch in "
615 "debian/patches.  In this example, this is because it itself changes files in "
616 "debian/patches, indicating that something unusual is going on and that "
617 "continuing is not safe.  But you might also see other kinds of troublesome "
618 "commit or edge."
619 msgstr ""
620
621 #. type: Plain text
622 #: ../dgit.7:390
623 msgid ""
624 "Your appropriate response depends on the cause and the context.  If you have "
625 "been freely merging your git branch and do not need need a pretty linear "
626 "patch queue, you can use B<--quilt=smash> (or use the B<1.0> or B<single-"
627 "debian-patch> source formats; see B<dpkg-source(1)>.)  If you want a pretty "
628 "linear series, and this message is unexpected, it can mean that you have "
629 "unwittingly committed changes that are not representable by dpkg-source "
630 "(such as some mode changes).  Or maybe you just forgot a necessary B<--"
631 "quilt=> option."
632 msgstr ""
633
634 #. type: Plain text
635 #: ../dgit.7:396
636 msgid ""
637 "Finally, this problem can occur if you have provided Debian git tooling such "
638 "as git-debrebase, git-dpm or git-buildpackage with upstream git commit(s) or "
639 "tag(s)  which are not 100% identical to your orig tarball(s)."
640 msgstr ""
641
642 #. type: SH
643 #: ../dgit.7:396
644 #, no-wrap
645 msgid "SPLIT VIEW QUILT MODE"
646 msgstr ""
647
648 #. type: Plain text
649 #: ../dgit.7:403
650 msgid ""
651 "When working with git branches intended for use with the `3.0 (quilt)' "
652 "source format dgit can automatically convert a suitable maintainer-provided "
653 "git branch (in one of a variety of formats)  into a dgit branch."
654 msgstr ""
655
656 #. type: Plain text
657 #: ../dgit.7:410
658 msgid ""
659 "When a split view mode is engaged dgit build commands and dgit push will, on "
660 "each invocation, convert the user's HEAD into the dgit view, so that it can "
661 "be built and/or uploaded."
662 msgstr ""
663
664 #. type: Plain text
665 #: ../dgit.7:417
666 msgid ""
667 "dgit push in split view mode will push the dgit view to the dgit git "
668 "server.  The dgit view is always a descendant of the maintainer view.  dgit "
669 "push will also make a maintainer view tag according to DEP-14 and push that "
670 "to the dgit git server."
671 msgstr ""
672
673 #. type: Plain text
674 #: ../dgit.7:425
675 msgid ""
676 "Split view mode must be enabled explicitly (by the use of the applicable "
677 "command line options, subcommands, or configuration).  This is because it is "
678 "not possible to reliably tell (for example)  whether a git tree for a dpkg-"
679 "source `3.0 (quilt)' package is a patches-applied or patches-unapplied tree."
680 msgstr ""
681
682 #. type: Plain text
683 #: ../dgit.7:429
684 msgid ""
685 "Split view conversions are cached in the ref dgit-intern/quilt-cache.  This "
686 "should not be manipulated directly."
687 msgstr ""
688
689 #. type: SH
690 #: ../dgit.7:429
691 #, no-wrap
692 msgid "FILES IN THE ORIG TARBALL BUT NOT IN GIT - AUTOTOOLS ETC."
693 msgstr ""
694
695 #. type: Plain text
696 #: ../dgit.7:432
697 msgid ""
698 "This section is mainly of interest to maintainers who want to use dgit with "
699 "their existing git history for the Debian package."
700 msgstr ""
701
702 #. type: Plain text
703 #: ../dgit.7:438
704 msgid ""
705 "Some developers like to have an extra-clean git tree which lacks files which "
706 "are normally found in source tarballs and therefore in Debian source "
707 "packages.  For example, it is conventional to ship ./configure in the source "
708 "tarball, but some people prefer not to have it present in the git view of "
709 "their project."
710 msgstr ""
711
712 #. type: Plain text
713 #: ../dgit.7:443
714 msgid ""
715 "dgit requires that the source package unpacks to exactly the same files as "
716 "are in the git commit on which dgit push operates.  So if you just try to "
717 "dgit push directly from one of these extra-clean git branches, it will fail."
718 msgstr ""
719
720 #. type: Plain text
721 #: ../dgit.7:445
722 msgid "As the maintainer you therefore have the following options:"
723 msgstr ""
724
725 #. type: TP
726 #: ../dgit.7:445 ../dgit.7:456 ../dgit.7:505 ../dgit.7:513
727 #, no-wrap
728 msgid "\\(bu"
729 msgstr ""
730
731 #. type: Plain text
732 #: ../dgit.7:456
733 msgid ""
734 "Delete the files from your git branches, and your Debian source packages, "
735 "and carry the deletion as a delta from upstream.  (With `3.0 (quilt)' this "
736 "means represeting the deletions as patches.  You may need to pass --include-"
737 "removal to dpkg-source --commit, or pass corresponding options to other "
738 "tools.)  This can make the Debian source package less useful for people "
739 "without Debian build infrastructure."
740 msgstr ""
741
742 #. type: Plain text
743 #: ../dgit.7:462
744 msgid ""
745 "Persuade upstream that the source code in their git history and the source "
746 "they ship as tarballs should be identical.  Of course simply removing the "
747 "files from the tarball may make the tarball hard for people to use."
748 msgstr ""
749
750 #. type: Plain text
751 #: ../dgit.7:468
752 msgid ""
753 "One answer is to commit the (maybe autogenerated)  files, perhaps with some "
754 "simple automation to deal with conflicts and spurious changes.  This has the "
755 "advantage that someone who clones the git repository finds the program just "
756 "as easy to build as someone who uses the tarball."
757 msgstr ""
758
759 #. type: Plain text
760 #: ../dgit.7:473
761 msgid ""
762 "Of course it may also be that the differences are due to build system bugs, "
763 "which cause unintended files to end up in the source package.  dgit will "
764 "notice this and complain.  You may have to fix these bugs before you can "
765 "unify your existing git history with dgit's."
766 msgstr ""
767
768 #. type: SH
769 #: ../dgit.7:474
770 #, no-wrap
771 msgid "FILES IN THE SOURCE PACKAGE BUT NOT IN GIT - DOCS, BINARIES ETC."
772 msgstr ""
773
774 #. type: Plain text
775 #: ../dgit.7:478
776 msgid ""
777 "Some upstream tarballs contain build artifacts which upstream expects some "
778 "users not to want to rebuild (or indeed to find hard to rebuild), but which "
779 "in Debian we always rebuild."
780 msgstr ""
781
782 #. type: Plain text
783 #: ../dgit.7:488
784 msgid ""
785 "Examples sometimes include crossbuild firmware binaries and documentation.  "
786 "To avoid problems when building updated source packages (in particular, to "
787 "avoid trying to represent as changes in the source package uninteresting or "
788 "perhaps unrepresentable changes to such files)  many maintainers arrange for "
789 "the package clean target to delete these files."
790 msgstr ""
791
792 #. type: Plain text
793 #: ../dgit.7:496
794 msgid ""
795 "dpkg-source does not (with any of the commonly used source formats)  "
796 "represent deletion of binaries (outside debian/) present in upstream.  Thus "
797 "deleting such files in a dpkg-source working tree does not actually result "
798 "in them being deleted from the source package.  Thus deleting the files in "
799 "rules clean sweeps this problem under the rug."
800 msgstr ""
801
802 #. type: Plain text
803 #: ../dgit.7:502
804 msgid ""
805 "However, git does always properly record file deletion.  Since dgit's "
806 "principle is that the dgit git tree is the same of dpkg-source -x, that "
807 "means that a dgit-compatible git tree always contains these files."
808 msgstr ""
809
810 #. type: Plain text
811 #: ../dgit.7:505
812 msgid ""
813 "For the non-maintainer, this can be observed in the following suboptimal "
814 "occurrences:"
815 msgstr ""
816
817 #. type: Plain text
818 #: ../dgit.7:513
819 msgid ""
820 "The package clean target often deletes these files, making the git tree "
821 "dirty trying to build the source package, etc.  This can be fixed by using "
822 "B<dgit -wg> aka B<--clean=git>, so that the package clean target is never "
823 "run."
824 msgstr ""
825
826 #. type: Plain text
827 #: ../dgit.7:520
828 msgid ""
829 "The package build modifies these files, so that builds make the git tree "
830 "dirty.  This can be worked around by using `git reset --hard' after each "
831 "build (or at least before each commit or push)."
832 msgstr ""
833
834 #. type: Plain text
835 #: ../dgit.7:530
836 msgid ""
837 "From the maintainer's point of view, the main consequence is that to make a "
838 "dgit-compatible git branch it is necessary to commit these files to git.  "
839 "The maintainer has a few additional options for mitigation: for example, it "
840 "may be possible for the rules file to arrange to do the build in a temporary "
841 "area, which avoids updating the troublesome files; they can then be left in "
842 "the git tree without seeing trouble."
843 msgstr ""
844
845 #. type: SH
846 #: ../dgit.7:530
847 #, no-wrap
848 msgid "PROBLEMS WITH PACKAGE CLEAN TARGETS ETC."
849 msgstr ""
850
851 #. type: Plain text
852 #: ../dgit.7:538
853 msgid ""
854 "A related problem is other unexpected behaviour by a package's B<clean> "
855 "target.  If a package's rules modify files which are distributed in the "
856 "package, or simply forget to remove certain files, dgit will complain that "
857 "the tree is dirty."
858 msgstr ""
859
860 #. type: Plain text
861 #: ../dgit.7:546
862 msgid ""
863 "Again, the solution is to use B<dgit -wg> aka B<--clean=git>, which "
864 "instructs dgit to use git clean instead of the package's build target, along "
865 "with perhaps B<git reset --hard> before each build."
866 msgstr ""
867
868 #. type: Plain text
869 #: ../dgit.7:550
870 msgid ""
871 "This is 100% reliable, but has the downside that if you forget to git add or "
872 "to commit, and then use B<dgit -wg> or B<git reset --hard>, your changes may "
873 "be lost."
874 msgstr ""