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