diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2017-07-15 23:21:13 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2017-07-15 23:21:14 +0100 |
commit | 83af484ee17f5d18ee6a161b01aa0b546d8943cb (patch) | |
tree | f206afc18d391ba9b7efdbc11c0981d0ab10b835 /dgit | |
parent | a68894875ce0d11261882f62b2aa28a6e3eed673 (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-x | dgit | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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"; |