summaryrefslogtreecommitdiff
path: root/dgit
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2017-07-15 23:21:13 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2017-07-15 23:21:14 +0100
commit83af484ee17f5d18ee6a161b01aa0b546d8943cb (patch)
treef206afc18d391ba9b7efdbc11c0981d0ab10b835 /dgit
parenta68894875ce0d11261882f62b2aa28a6e3eed673 (diff)
dgit import: Right error message for missing files in ..
Close examination of this code path reveals that: * The error is generated only if $there contains no slash. * This can only occur if $dscfn matches the first regexp, ie $dscfn is [./]../X in which case $there becomes X * So in this situation, $there is simply the dsc filename which is supposed to be in .. * What we should be testing is ../$f but that is $here which is what are trying to create and which we statted earlier and got ENOENT for. So this occurs when the dsc is in .. and a file it refers to is missing. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'dgit')
-rwxr-xr-xdgit2
1 files changed, 1 insertions, 1 deletions
diff --git a/dgit b/dgit
index a68bf19..944de85 100755
--- a/dgit
+++ b/dgit
@@ -6363,7 +6363,7 @@ END
fail "cannot import $dscfn which seems to be inside working tree!";
}
$there =~ s#/+[^/]+$## or
- fail "cannot import $dscfn which seems to not have a basename";
+ fail "import $dscfn requires ../$f, but it does not exist";
$there .= "/$f";
symlink $there, $here or fail "symlink $there to $here: $!";
progress "made symlink $here -> $there";