import: Avoid very ugly error messages when the directory files are imported to is not a directort, but perhaps an annexed file.
This commit is contained in:
parent
5db7d435e7
commit
7dc90f2225
2 changed files with 16 additions and 2 deletions
|
@ -89,7 +89,7 @@ start mode (srcfile, destfile) =
|
||||||
warning "Could not verify that the content is still present in the annex; not removing from the import location."
|
warning "Could not verify that the content is still present in the annex; not removing from the import location."
|
||||||
stop
|
stop
|
||||||
)
|
)
|
||||||
importfile = do
|
importfile = checkdestdir $ do
|
||||||
ignored <- not <$> Annex.getState Annex.force <&&> checkIgnored destfile
|
ignored <- not <$> Annex.getState Annex.force <&&> checkIgnored destfile
|
||||||
if ignored
|
if ignored
|
||||||
then do
|
then do
|
||||||
|
@ -99,14 +99,26 @@ start mode (srcfile, destfile) =
|
||||||
existing <- liftIO (catchMaybeIO $ getSymbolicLinkStatus destfile)
|
existing <- liftIO (catchMaybeIO $ getSymbolicLinkStatus destfile)
|
||||||
case existing of
|
case existing of
|
||||||
Nothing -> importfilechecked
|
Nothing -> importfilechecked
|
||||||
(Just s)
|
Just s
|
||||||
| isDirectory s -> notoverwriting "(is a directory)"
|
| isDirectory s -> notoverwriting "(is a directory)"
|
||||||
|
| isSymbolicLink s -> notoverwriting "(is a symlink)"
|
||||||
| otherwise -> ifM (Annex.getState Annex.force)
|
| otherwise -> ifM (Annex.getState Annex.force)
|
||||||
( do
|
( do
|
||||||
liftIO $ nukeFile destfile
|
liftIO $ nukeFile destfile
|
||||||
importfilechecked
|
importfilechecked
|
||||||
, notoverwriting "(use --force to override, or a duplication option such as --deduplicate to clean up)"
|
, notoverwriting "(use --force to override, or a duplication option such as --deduplicate to clean up)"
|
||||||
)
|
)
|
||||||
|
checkdestdir cont = do
|
||||||
|
let destdir = parentDir destfile
|
||||||
|
existing <- liftIO (catchMaybeIO $ getSymbolicLinkStatus destdir)
|
||||||
|
case existing of
|
||||||
|
Nothing -> cont
|
||||||
|
Just s
|
||||||
|
| isDirectory s -> cont
|
||||||
|
| otherwise -> do
|
||||||
|
warning $ "not importing " ++ destfile ++ " because " ++ destdir ++ " is not a directory"
|
||||||
|
stop
|
||||||
|
|
||||||
importfilechecked = do
|
importfilechecked = do
|
||||||
liftIO $ createDirectoryIfMissing True (parentDir destfile)
|
liftIO $ createDirectoryIfMissing True (parentDir destfile)
|
||||||
liftIO $ if mode == Duplicate || mode == SkipDuplicates
|
liftIO $ if mode == Duplicate || mode == SkipDuplicates
|
||||||
|
|
2
debian/changelog
vendored
2
debian/changelog
vendored
|
@ -4,6 +4,8 @@ git-annex (5.20151102.2) UNRELEASED; urgency=medium
|
||||||
This allows nicely displayed messages when using the -J flag.
|
This allows nicely displayed messages when using the -J flag.
|
||||||
* Additional commands now suppport the -J flag:
|
* Additional commands now suppport the -J flag:
|
||||||
fsck, drop, add, addurl, import
|
fsck, drop, add, addurl, import
|
||||||
|
* import: Avoid very ugly error messages when the directory files
|
||||||
|
are imported to is not a directort, but perhaps an annexed file.
|
||||||
|
|
||||||
-- Joey Hess <id@joeyh.name> Wed, 04 Nov 2015 12:50:20 -0400
|
-- Joey Hess <id@joeyh.name> Wed, 04 Nov 2015 12:50:20 -0400
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue