diff options
Diffstat (limited to 'CmdLine/Seek.hs')
-rw-r--r-- | CmdLine/Seek.hs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/CmdLine/Seek.hs b/CmdLine/Seek.hs index 7fc64c528..0afb0e66a 100644 --- a/CmdLine/Seek.hs +++ b/CmdLine/Seek.hs @@ -243,13 +243,12 @@ seekActions gen = mapM_ commandAction =<< gen seekHelper :: ([FilePath] -> Git.Repo -> IO ([FilePath], IO Bool)) -> [FilePath] -> Annex [FilePath] seekHelper a params = do - ll <- inRepo $ \g -> concat <$> forM (segmentXargsOrdered params) - (runSegmentPaths (\fs -> Git.Command.leaveZombie <$> a fs g)) - forM_ (map fst $ filter (null . snd) $ zip params ll) $ \p -> + forM_ params $ \p -> unlessM (isJust <$> liftIO (catchMaybeIO $ getSymbolicLinkStatus p)) $ do toplevelWarning False (p ++ " not found") Annex.incError - return $ concat ll + inRepo $ \g -> concat . concat <$> forM (segmentXargsOrdered params) + (runSegmentPaths (\fs -> Git.Command.leaveZombie <$> a fs g)) notSymlink :: FilePath -> IO Bool notSymlink f = liftIO $ not . isSymbolicLink <$> getSymbolicLinkStatus f |