chiark / gitweb /
Merge branch 'wip.i18n-nl' into master
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 1 Mar 2019 20:33:37 +0000 (20:33 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 1 Mar 2019 20:33:37 +0000 (20:33 +0000)
Conflicts:
po/nl.po

15 files changed:
debian/changelog
debian/tests/control
dgit
dgit-downstream-dsc.7.pod
dgit-maint-debrebase.7.pod
dgit-maint-native.7.pod
dgit-sponsorship.7.pod
dgit-user.7.pod
dgit.1
dgit.7
git-debrebase.1.pod
git-debrebase.5.pod
po/nl.po
tests/tests/import-dsc
tests/tests/import-linkorigs [new file with mode: 0755]

index b18c1ec2893f59d17ad8ae988327b9cd715f58f5..4b5c9c09213406a5267926522335ccd740a632c1 100644 (file)
@@ -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
+
 
  --
 
index 6559071e193535ac646c8871133ae2615b676671..7f0a90820722500b221762b044db40979b46b07d 100644 (file)
@@ -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 b6bfd5605684ae5fbebb3343175ccc2bd5c2ac4f..f33aab8c0838fb93a0c7357a19ad1fd1563f6df1 100755 (executable)
--- 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;
index fcbce05871acb33fbb4707ce30425049d3fa6d4a..91d9023c2892f447cb97eb0e8ef1a9245eacfe96 100644 (file)
@@ -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 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<git-check> to B<true>.
+set C<git-check> to B<true>.
 
 Otherwise, set C<git-check> 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<dgit-repos-server>.
 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.
index 4996e6ad0da8afeb618778e269a4c16f6a76de24..b91ed1648ea676355c3727c7fcd327ea2b7bf375 100644 (file)
@@ -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<git debrebase convert-from-gbp> since
 the last upload, it is not possible for dgit to make your history
 fast-forwarding from the history on B<dgit-repos>.  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.
 
index ac57728cea1d8f573cdeafbcc9bb70aa6d2fd052..792be1053df9a863685c8eeb93a4b0911977310d 100644 (file)
@@ -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.
index 199903cfa1cf072886ab772fd6157d188d9c85d7..2e6f82d95071c74cc55033b03a73f56a15111aae 100644 (file)
@@ -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.)
index 036d5bb72a8910629bec655d04be3cde41fe96a8..18f06dac6e9a83e5d425875442f80af2ba974868 100644 (file)
@@ -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<debian/changelog> - see above).
+(The version is controlled by C<debian/changelog> - 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 6f8957444ccc3f911444a9a4e91e637a83ab7986..d23dde01384c166d71717f2955c104335a3f699d 100644 (file)
--- 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 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 d625e8fcbbc32c8a731867a8808e932d7143ff55..8325c06b10aaeed869c49d41345d9e24b4ea4fd3 100644 (file)
--- 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,
index 00b664b756f2d81bcb77464065a229fdfebfc448..cbdf292b2812e616248c06cfb8908374680d8c06 100644 (file)
@@ -19,7 +19,7 @@ L<dgit-maint-debrebase(7)>.
 For background, theory of operation,
 and definitions see L<git-debrebase(5)>.
 
-You should read this manpage in cojnunction with
+You should read this manpage in conjunction with
 L<git-debrebase(5)/TERMINOLOGY>,
 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<git-debrebase(5)/ILLEGAL OPERATIONS>
+See L<git-debrebase(5)/ILLEGAL OPERATIONS>
 
 =item git-debrebase status
 
@@ -155,7 +155,7 @@ the whole new upstream operation is aborted,
 except for the laundering.
 
 <new-version>
-may be whole new Debian version, including revision,
+may be 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 [<upstream-commit-ish>]
 
-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 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
index 439fd63b89b30155960ae5821c6f19ca3571b677..d23c6b21b6787b87fcc2fe9cba503f19b47f3bda 100644 (file)
@@ -146,7 +146,7 @@ See L</STITCHING, PSEUDO-MERGES, FFQ RECORD>.
 
 git-debrebase has one primary branch,
 the B<interchange branch>.
-This branch is found on Debian contributor's workstations
+This branch is found on Debian contributors' workstations
 (typically, a maintainer would call it B<master>),
 in the Debian dgit git server as the suite branch (B<dgit/dgit/sid>)
 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<anchor>,
+is the part since the most recent B<anchor>,
 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<rebasing>.
 It has the same contents as the laundered state,
 except that it may contain,
 additionally,
-in B<in any order but after the breakwater>:
+B<in any order but after the breakwater>:
 
 =over
 
@@ -379,8 +379,8 @@ When ffq-prev is not present,
 C<refs/debrebase-last/B> 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<debian/patches/>.
 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.
 
index a0dc658cd6968f07b2e12f039050093da7a9ef3b..b67f5f77eff3f2cf90a28549b0e87e55089a21b8 100644 (file)
--- 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 [<options>] [--|-i <git rebase options...>]\n"
-#| "  git-debrebase [<options>] status\n"
-#| "  git-debrebase [<options>] prepush [--prose=...]\n"
-#| "  git-debrebase [<options>] quick|conclude\n"
-#| "  git-debrebase [<options>] new-upstream <new-version> [<details ...>]\n"
-#| "  git-debrebase [<options>] convert-from-gbp [<upstream-commitish>]\n"
-#| "  ...\n"
-#| "See git-debrebase(1), git-debrebase(5), dgit-maint-debrebase(7) (in "
-#| "dgit).\n"
 msgid ""
 "usages:\n"
 "  git-debrebase [<options>] [--|-i <git rebase options...>]\n"
index bdd849ca1060e75d8fcff9aac988d5ea94b7a4a0..4a8d876693af72c7bf548ee4ae2274e4dee5830a 100755 (executable)
@@ -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 (executable)
index 0000000..815f960
--- /dev/null
@@ -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