diff options
-rw-r--r-- | debian/changelog | 4 | ||||
-rwxr-xr-x | dgit | 8 |
2 files changed, 11 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog index 1f73c7c..f3a88a2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,10 @@ dgit (1.5~~) unstable; urgency=medium has been changed recently and now this default setting is very awkward to change for the dgit user. + Bugfixes: + * When cleaning up after failed clone, stat the to-be-cleaned-up + directory before running rmtree on it. Closes:#796773. + Test suite: * When sbuild fails, do not crash due to sed not finding the log file. Instead, simply tolerate the absence of the log file. @@ -2131,7 +2131,13 @@ sub cmd_clone { return if $!==&ENOENT; die "chdir $cwd_remove: $!"; } - rmtree($dstdir) or die "remove $dstdir: $!\n"; + if (stat $dstdir) { + rmtree($dstdir) or die "remove $dstdir: $!\n"; + } elsif (!grep { $! == $_ } + (ENOENT, ENOTDIR, EACCES, EPERM, ELOOP)) { + } else { + print STDERR "check whether to remove $dstdir: $!\n"; + } }; } |