From: Ian Jackson Date: Fri, 1 Mar 2019 20:33:37 +0000 (+0000) Subject: Merge branch 'wip.i18n-nl' into master X-Git-Tag: archive/debian/8.4~11 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=af383382f97e6ab687b209e9117fe50dac6d37c8;hp=e19ffd361e29885a06765c65bd988b09c85b908b Merge branch 'wip.i18n-nl' into master Conflicts: po/nl.po --- diff --git a/debian/changelog b/debian/changelog index b18c1ec2..4b5c9c09 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,13 @@ dgit (8.4~) unstable; urgency=medium - * + * Many manpage typo fixes. Closes:#918384. [Paul Hardy] + + [Ian Jackson] + * i18n: nl.po: Remove a spurious space + * dgit: cmd_import_dsc: comment on lack of is_orig_file check + * dgit: import-dsc: Handle relative symlinks correctly + * dgit: import-dsc: New test for abs/rel dsc component links + -- diff --git a/debian/tests/control b/debian/tests/control index 6559071e..7f0a9082 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -68,7 +68,7 @@ Tests: trustingpolicy-replay Tests-Directory: tests/tests Depends: dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, chiark-utils-bin, bc, faketime, dput-ng -Tests: absurd-gitapply badcommit-rewrite build-modes build-modes-long build-modes-source checkout clone-clogsigpipe clone-gitnosuite clone-nogit debpolicy-dbretry debpolicy-newreject debpolicy-quilt-gbp defdistro-rpush defdistro-setup distropatches-reject dpkgsourceignores-correct drs-clone-nogit drs-push-masterupdate drs-push-rejects dsd-clone-nogit dsd-divert fetch-localgitonly fetch-somegit-notlast gbp-orig gitconfig gitworktree import-dsc import-maintmangle import-native import-nonnative import-tarbomb inarchivecopy mismatches-contents mismatches-dscchanges multisuite newtag-clone-nogit oldnewtagalt oldtag-clone-nogit orig-include-exclude orig-include-exclude-chkquery overwrite-chkclog overwrite-junk overwrite-splitbrains overwrite-version pbuilder protocol-compat push-buildproductsdir push-newpackage push-newrepeat push-nextdgit push-source push-source-with-changes quilt quilt-gbp quilt-gbp-build-modes quilt-singlepatch quilt-splitbrains quilt-useremail rpush sourceonlypolicy tag-updates unrepresentable version-opt +Tests: absurd-gitapply badcommit-rewrite build-modes build-modes-long build-modes-source checkout clone-clogsigpipe clone-gitnosuite clone-nogit debpolicy-dbretry debpolicy-newreject debpolicy-quilt-gbp defdistro-rpush defdistro-setup distropatches-reject dpkgsourceignores-correct drs-clone-nogit drs-push-masterupdate drs-push-rejects dsd-clone-nogit dsd-divert fetch-localgitonly fetch-somegit-notlast gbp-orig gitconfig gitworktree import-dsc import-linkorigs import-maintmangle import-native import-nonnative import-tarbomb inarchivecopy mismatches-contents mismatches-dscchanges multisuite newtag-clone-nogit oldnewtagalt oldtag-clone-nogit orig-include-exclude orig-include-exclude-chkquery overwrite-chkclog overwrite-junk overwrite-splitbrains overwrite-version pbuilder protocol-compat push-buildproductsdir push-newpackage push-newrepeat push-nextdgit push-source push-source-with-changes quilt quilt-gbp quilt-gbp-build-modes quilt-singlepatch quilt-splitbrains quilt-useremail rpush sourceonlypolicy tag-updates unrepresentable version-opt Tests-Directory: tests/tests Depends: dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, chiark-utils-bin, bc, faketime diff --git a/dgit b/dgit index b6bfd560..f33aab8c 100755 --- a/dgit +++ b/dgit @@ -32,6 +32,7 @@ use Data::Dumper; use LWP::UserAgent; use Dpkg::Control::Hash; use File::Path; +use File::Spec; use File::Temp qw(tempdir); use File::Basename; use Dpkg::Version; @@ -2233,7 +2234,7 @@ sub dotdot_bpd_transfer_origs ($$$) { "check orig file %s in ..: %s", $leaf, $!; if (-l _) { stat "$dotdot/$leaf" or fail f_ - "check targe of orig symlink %s in ..: %s", $leaf, $!; + "check target of orig symlink %s in ..: %s", $leaf, $!; my $ltarget = readlink "$dotdot/$leaf" or die "readlink $dotdot/$leaf: $!"; if ($ltarget !~ m{^/}) { @@ -7003,29 +7004,49 @@ END my @dfi = dsc_files_info(); foreach my $fi (@dfi) { my $f = $fi->{Filename}; + # We transfer all the pieces of the dsc to the bpd, not just + # origs. This is by analogy with dgit fetch, which wants to + # keep them somewhere to avoid downloading them again. + # We make symlinks, though. If the user wants copies, then + # they can copy the parts of the dsc to the bpd using dcmd, + # or something. my $here = "$buildproductsdir/$f"; if (lstat $here) { - next if stat $here; + if (stat $here) { + next; + } fail f_ "lstat %s works but stat gives %s !", $here, $!; } fail f_ "stat %s: %s", $here, $! unless $! == ENOENT; + printdebug "not in bpd, $f ...\n"; + # $f does not exist in bpd, we need to transfer it my $there = $dscfn; - if ($dscfn =~ m#^(?:\./+)?\.\./+#) { - $there = $'; - } elsif ($dscfn =~ m#^/#) { - $there = $dscfn; + $there =~ s{[^/]+$}{$f} or confess "$there ?"; + # $there is file we want, relative to user's cwd, or abs + printdebug "not in bpd, $f, test $there ...\n"; + stat $there or fail f_ + "import %s requires %s, but: %s", $dscfn, $there, $!; + if ($there =~ m#^(?:\./+)?\.\./+#) { + # $there is relative to user's cwd + my $there_from_parent = $'; + if ($buildproductsdir !~ m{^/}) { + # abs2rel, despite its name, can take two relative paths + $there = File::Spec->abs2rel($there,$buildproductsdir); + # now $there is relative to bpd, great + printdebug "not in bpd, $f, abs2rel, $there ...\n"; + } else { + $there = (dirname $maindir)."/$there_from_parent"; + # now $there is absoute + printdebug "not in bpd, $f, rel2rel, $there ...\n"; + } + } elsif ($there =~ m#^/#) { + # $there is absolute already + printdebug "not in bpd, $f, abs, $there ...\n"; } else { fail f_ "cannot import %s which seems to be inside working tree!", $dscfn; } - $there =~ s#/+[^/]+$## or fail f_ - "import %s requires .../%s, but it does not exist", - $dscfn, $f; - $there .= "/$f"; - my $test = $there =~ m{^/} ? $there : "../$there"; - stat $test or fail f_ - "import %s requires %s, but: %s", $dscfn, $test, $!; symlink $there, $here or fail f_ "symlink %s to %s: %s", $there, $here, $!; progress f_ "made symlink %s -> %s", $here, $there; diff --git a/dgit-downstream-dsc.7.pod b/dgit-downstream-dsc.7.pod index fcbce058..91d9023c 100644 --- a/dgit-downstream-dsc.7.pod +++ b/dgit-downstream-dsc.7.pod @@ -121,8 +121,8 @@ but in most installations this is not needed. If there is no or little distinction between (i) developers who are entitled to upload (push) and (ii) repository administrators, -then a it is sufficient to provide a -git server with a unix account for each user who will pushing, +then it is sufficient to provide a +git server with a unix account for each user who will be pushing, perhaps using ssh restricted commands. =item Debian-format archive (repository) @@ -216,7 +216,7 @@ yet a git repository for a particular package. If you always have a git repository for every package in your archive, perhaps because you never use dput/dupload, and always dgit push, -Set C to B. +set C to B. Otherwise, set C to a url prefix - ideally, https. dgit clone will try to fetch @@ -312,7 +312,7 @@ Either don't do that, or set up B. When a user who can push runs dgit, dgit uses ssh to access the git server. -To make ssh restricted command easier, +To make use of ssh restricted command easier, and for the benefit of dgit-repos-server, dgit's ssh commands each start with a parseable commentish rune. diff --git a/dgit-maint-debrebase.7.pod b/dgit-maint-debrebase.7.pod index 4996e6ad..b91ed164 100644 --- a/dgit-maint-debrebase.7.pod +++ b/dgit-maint-debrebase.7.pod @@ -376,7 +376,7 @@ release: =back Pass I<--stat> just to see the list of changed files, which is useful -to determine whether there are any new or deleted files to may need +to determine whether there are any new or deleted files that may need accounting for in your copyright file. If you obtained a tarball from upstream, you are ready to try a build. @@ -451,7 +451,7 @@ In some cases where you used B since the last upload, it is not possible for dgit to make your history fast-forwarding from the history on B. In such cases you will have to pass I<--overwrite> to dgit. git-debrebase will normally -tell you if this is will be needed. +tell you if this will be needed. Right before uploading, if you did not just already do so, you might want to have git-debrebase(1) shuffle your branch such that the Debian @@ -559,7 +559,7 @@ In the simplest case, =back -If that fails, because your branch and the NMUers work represent +If that fails, because your branch and the NMUers' work represent divergent branches of development, you have a number of options. Here we describe the two simplest. diff --git a/dgit-maint-native.7.pod b/dgit-maint-native.7.pod index ac57728c..792be105 100644 --- a/dgit-maint-native.7.pod +++ b/dgit-maint-native.7.pod @@ -85,7 +85,7 @@ is fast forward from the dgit archive view. Alternatively, if this was the first ever dgit push of the package, you can avoid this merge commit by -passing C<--deliberately-not-fast-forward>. +passing C<--deliberately-not-fast-forward> instead of C<--overwrite>. This avoids introducing a new origin commit into your git history. diff --git a/dgit-sponsorship.7.pod b/dgit-sponsorship.7.pod index 199903cf..2e6f82d9 100644 --- a/dgit-sponsorship.7.pod +++ b/dgit-sponsorship.7.pod @@ -9,7 +9,7 @@ and a sponsoring DD (or DM) can collaborate and publish using git. -The sponsor must to be intending to use dgit for the upload. +The sponsor must be intending to use dgit for the upload. (If the sponsor does not use dgit, it is not possible to properly publish a sponsee's git branch.) diff --git a/dgit-user.7.pod b/dgit-user.7.pod index 036d5bb7..18f06dac 100644 --- a/dgit-user.7.pod +++ b/dgit-user.7.pod @@ -379,7 +379,7 @@ If neither of those are an option, your desperate last resort is to try using the same version number as the official package for your own package. -(The version is controlled by C - see above). +(The version is controlled by C - see above.) This is not ideal because it makes it hard to tell what is installed, and because it will mislead and confuse apt. diff --git a/dgit.1 b/dgit.1 index 6f895744..d23dde01 100644 --- a/dgit.1 +++ b/dgit.1 @@ -338,8 +338,8 @@ which uses Set up the working tree's .B .git/info/attributes to disable all transforming attributes for all files. -This is done by defining a macro attribute -.B dgit-defuse-attrs +This is done by defining a macro attribute, +.B dgit-defuse-attrs, and applying it to .BR * . For why, see @@ -355,7 +355,7 @@ in .git/info/attributes, but it is insufficient, because it was made by an earlier version of dgit and git has since introduced new transforming attributes, -modifies the macro to disable the newer transformations. +this modifies the macro to disable the newer transformations. (If there is already a macro attribute line .B [attr]dgit-defuse-attrs @@ -448,7 +448,7 @@ and dgit actually imports the dsc dgit will make a pseudomerge so that the result is necessarily fast forward from the existing branch. -Otherwise, if branch already exists, +Otherwise, if \fIbranch\fR already exists, dgit will stop with an error message. If @@ -775,7 +775,7 @@ The use of --deliberately is declared and published in the signed tags generated for you by dgit, so that the archive software can give effect to your intent, and -for the benefit humans looking at the history. +for the benefit of humans looking at the history. The meanings of .IR something s understood in the context of Debian are discussed below: @@ -852,7 +852,7 @@ because the dgit git tree does not have a directory.) .TP .BR --quilt=nocheck " | " --no-quilt-fixup -Do not check whether up source format `3.0 (quilt)' metadata needs +Do not check whether source format `3.0 (quilt)' metadata needs fixing up. If you use this option and the metadata did in fact need fixing up, dgit push will fail. .TP @@ -933,7 +933,7 @@ How to set this up is not yet documented. .TP .BI -C changesfile Specifies the .changes file which is to be uploaded. By default -dgit push looks for single .changes file in the parent directory whose +dgit push looks for a single .changes file in the parent directory whose filename suggests it is for the right package and version. If the specified @@ -1290,7 +1290,7 @@ One of the values for the command line --clean= option; used if .TP .BR dgit-distro. \fIdistro\fR .clean-mode-newer Like .clean-mode, -but ignored if the value does not make sense to this version of dgit. +but ignored if the value is unknown to this version of dgit. Setting both .clean-mode and .clean-mode-newer is useful to provide a single git config compatible with different dgit versions. .TP @@ -1328,10 +1328,10 @@ used, respectively. Only used if .setup-usermail is not disabled. .TP .BI dgit-distro. distro .setup-useremail Whether to set user.name and user.email in new git trees. -True by default. Ignored for dgit setup-setup-useremail, which does it anyway. +True by default. Ignored for dgit setup-useremail, which does it anyway. .TP .BI dgit-distro. distro .setup-mergechangelogs -Whether to setup a merge driver which uses dpkg-mergechangelogs for +Whether to set up a merge driver which uses dpkg-mergechangelogs for debian/changelog. True by default. Ignored for dgit setup-mergechangelogs, which does it anyway. .TP @@ -1355,8 +1355,9 @@ Works like To pass several options, configure multiple values in git config (with git config --add). The options for .BI dgit.default.opts- cmd +and .BI dgit-distro. distro /push.opts- cmd -and are all used, followed by options from dgit's command line. +are all used, followed by options from dgit's command line. .SH ACCESS CONFIGURATION There are many other settings which specify how a particular distro's services (archive and git) are provided. These should not normally be diff --git a/dgit.7 b/dgit.7 index d625e8fc..8325c06b 100644 --- a/dgit.7 +++ b/dgit.7 @@ -161,7 +161,7 @@ or to try to upload to it. When using this facility, it is important to always specify the same suites in the same order: -dgit will not be make a coherent fast-forwarding history +dgit will not make a coherent fast-forwarding history view otherwise. The history generated by this feature is not normally suitable @@ -361,7 +361,7 @@ whose tree is identical to o+d/p in all upstream files. In the error message, 696c9bd5..84ae8f96 is the first commit child-parent edge -which cannot be sensibly be +which cannot sensibly be either ignored, or turned into a patch in debian/patches. In this example, this is because it itself changes files in debian/patches, diff --git a/git-debrebase.1.pod b/git-debrebase.1.pod index 00b664b7..cbdf292b 100644 --- a/git-debrebase.1.pod +++ b/git-debrebase.1.pod @@ -19,7 +19,7 @@ L. For background, theory of operation, and definitions see L. -You should read this manpage in cojnunction with +You should read this manpage in conjunction with L, which defines many important terms used here. @@ -59,7 +59,7 @@ It is hazardous to use plain git-rebase on a git-debrebase branch, because git-rebase has a tendency to start the rebase too far back in history, and then drop important commits. -Soo L +See L =item git-debrebase status @@ -155,7 +155,7 @@ the whole new upstream operation is aborted, except for the laundering. -may be whole new Debian version, including revision, +may be a whole new Debian version, including revision, or just the upstream part, in which case -1 will be appended to make the new Debian version. @@ -249,7 +249,7 @@ If the patches implied by the current branch are not a simple superset of those already in debian/patches, make-patches will fail with exit status 7, and an error message. -(The message can be suppress with --quiet-would-amend.) +(The message can be suppressed with --quiet-would-amend.) If the problem is simply that the existing patches were not made by git-debrebase, using dgit quilt-fixup instead should succeed. @@ -258,7 +258,7 @@ using dgit quilt-fixup instead should succeed. =item git-debrebase convert-from-gbp [] -Cnnverts any of the following into a git-debrebase interchange branch: +Converts any of the following into a git-debrebase interchange branch: =over @@ -370,7 +370,7 @@ and any ffq-prev is deleted. This is provided mostly for the test suite and for unusual situations. -It should only be used with a care and +It should only be used with care and with a proper understanding of the underlying theory. Be sure to not accidentally treat the result as diff --git a/git-debrebase.5.pod b/git-debrebase.5.pod index 439fd63b..d23c6b21 100644 --- a/git-debrebase.5.pod +++ b/git-debrebase.5.pod @@ -146,7 +146,7 @@ See L. git-debrebase has one primary branch, the B. -This branch is found on Debian contributor's workstations +This branch is found on Debian contributors' workstations (typically, a maintainer would call it B), in the Debian dgit git server as the suite branch (B) and on other git servers which support Debian work @@ -175,7 +175,7 @@ the upstream commits). The breakwater does not contain any representation of the delta queue (not even debian/patches). The part of the breakwater processed by git-debrebase -is the part since the most reecent B, +is the part since the most recent B, which is usually a special merge generated by git-debrebase. When working, locally, @@ -255,7 +255,7 @@ a representation of the delta queue: =item Delta queue commits Zero or more single-parent commits -contaioning only changes to upstream files. +containing only changes to upstream files. =back @@ -266,7 +266,7 @@ branch state is also B. It has the same contents as the laundered state, except that it may contain, additionally, -in B: +B: =over @@ -379,8 +379,8 @@ When ffq-prev is not present, C records some ancestor of refs/B, (usually, the result of last stitch). This is used for status printing and some error error checks - -especially for printing guesses what a problem is. -To determine whether a branch is +especially for printing guesses about what a problem is. +To determine whether a branch is being maintained in git-debrebase form it is necessary to walk its history. @@ -419,7 +419,7 @@ so we can at least detect unsupported merges. =head1 LEGAL OPERATIONS -The following basic operations follows from this model +The following basic operations follow from this model (refer to the diagram above): =over @@ -472,7 +472,7 @@ so that git log shows the packaging history.) =item Stitch Make a pseudomerge, -whose contributing parent to is the unstitched branch +whose contributing parent is the unstitched branch and whose overwritten parent is ffq-prev, consuming ffq-prev in the process @@ -483,7 +483,7 @@ or perhaps a laundered branch with a quilt patch addition commit. =item Commit quilt patches To generate a tree which can be represented as a -3.0 (quilt) .dsc source packages, +3.0 (quilt) .dsc source package, the delta queue must be reified inside the git tree in B. These patch files can be stripped out and/or regenerated as needed. @@ -515,7 +515,7 @@ For these reasons, it is better to use git-debrebase and let it choose the base for your rebase. -If you do realise you have make this mistake, +If you do realise you have made this mistake, it is best to use the reflog to recover to a suitable good previous state. diff --git a/po/nl.po b/po/nl.po index a0dc658c..b67f5f77 100644 --- a/po/nl.po +++ b/po/nl.po @@ -36,7 +36,6 @@ msgstr "" #: ../dgit:260 #, perl-format -#| msgid "%s: package %s does not exist in suite %s\n" msgid "%s: source package %s does not exist in suite %s\n" msgstr "%s: broncodepakket %s bestaat niet in suite %s\n" @@ -778,7 +777,7 @@ msgstr "" #: ../dgit:3099 msgid "rewrite map" -msgstr "modificatieplan (rewrite map) " +msgstr "modificatieplan (rewrite map)" #: ../dgit:3106 msgid "server's git history rewrite map contains a relevant entry!" @@ -1899,11 +1898,6 @@ msgstr "" "schonen." #: ../dgit:6302 -#| msgid "" -#| "%s\n" -#| "If this is just missing .gitignore entries, use a different clean\n" -#| "mode, eg --clean=dpkg-source,no-check (-wdu/-wddu) to ignore them\n" -#| "or --clean=git (-wg/-wgf) to use `git clean' instead.\n" msgid "" "If this is just missing .gitignore entries, use a different clean\n" "mode, eg --clean=dpkg-source,no-check (-wdn/-wddn) to ignore them\n" @@ -1911,7 +1905,7 @@ msgid "" msgstr "" "Indien het enkel ontbrekende .gitignore-items betreft, gebruik dan een " "andere\n" -"clean-modus, bijv. --clean=dpkg-source,no-check (-wdu/-wddu) om deze te\n" +"clean-modus, bijv. --clean=dpkg-source,no-check (-wdn/-wddn) om deze te\n" "negeren, of --clean=git (-wg/-wgf) om in de plaats `git clean' te " "gebruiken.\n" @@ -2392,17 +2386,6 @@ msgid "unknown operation %s" msgstr "onbekende bewerking %s" #: ../git-debrebase:44 -#| msgid "" -#| "usages:\n" -#| " git-debrebase [] [--|-i ]\n" -#| " git-debrebase [] status\n" -#| " git-debrebase [] prepush [--prose=...]\n" -#| " git-debrebase [] quick|conclude\n" -#| " git-debrebase [] new-upstream [
]\n" -#| " git-debrebase [] convert-from-gbp []\n" -#| " ...\n" -#| "See git-debrebase(1), git-debrebase(5), dgit-maint-debrebase(7) (in " -#| "dgit).\n" msgid "" "usages:\n" " git-debrebase [] [--|-i ]\n" diff --git a/tests/tests/import-dsc b/tests/tests/import-dsc index bdd849ca..4a8d8766 100755 --- a/tests/tests/import-dsc +++ b/tests/tests/import-dsc @@ -79,7 +79,7 @@ dsc=$troot/pkg-srcs/${p}_${v}.dsc cd $p.2 cp $dsc .. -t-expect-fail 'it does not exist' \ +t-expect-fail 'No such file or directory' \ check-import .. $v mkdir ../enoents diff --git a/tests/tests/import-linkorigs b/tests/tests/import-linkorigs new file mode 100755 index 00000000..815f960b --- /dev/null +++ b/tests/tests/import-linkorigs @@ -0,0 +1,60 @@ +#!/bin/bash +set -e +. tests/lib +. $troot/lib-import-chk + +t-tstunt-parsechangelog + +t-archive-none example +v=1.0-1 + +link_src_files () { + mkdir $1 + cp $troot/pkg-srcs/${p}_* $1 + dscfn=$1/$dscleaf +} + +combo () { + case $bpdhow in + none) bpd=.. ;; + abs) bpd=$tmp/$subdir/bpd ;; + rel) bpd=../bpd ;; + *) x-unknown-bpdhow $bpdhow ;; + esac + + mkdir -p $bpd + git config --local dgit.default.build-products-dir $bpd + + dscleaf=${p}_${v}.dsc + dscfn=$troot/pkg-srcs/$dscleaf + + case $dschow in + abs) ;; + rel) link_src_files ../copies ;; + bpd) link_src_files $bpd ;; + *) x-unknown-dschow $dschow ;; + esac + + t-dgit import-dsc $dscfn +import + git reset --hard import + + t-dch-commit -v$v.1 -m 'New version' + t-dch-commit-r + t-dgit build-source +} + +for bpdhow in none rel abs; do + for dschow in rel abs; do + + subdir=$bpdhow-$dschow + mkdir $subdir + cd $subdir + + mkdir $p + cd $p + + git init + combo + cd ../.. + done +done