summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-01-26 15:14:03 +1100
committerGravatar Joey Hess <joey@kitenet.net>2013-01-26 15:14:03 +1100
commitf0f97334d017eac6d1693bac90c772022fa57aa7 (patch)
treea7cd2e925c3bed80d45ec4dc090f0c13e0e9b736
parent44d7913686ccfef4e6cbd0fdc2b5611aa944ec70 (diff)
avoid bogus file not found warning on broken symlink
Not sure why this didn't happen all the time, but the fix is clearly correct and also saves one stat per file.
-rw-r--r--Seek.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/Seek.hs b/Seek.hs
index 333afb6fc..cfcab430e 100644
--- a/Seek.hs
+++ b/Seek.hs
@@ -28,7 +28,7 @@ seekHelper a params = do
runSegmentPaths (\fs -> Git.Command.leaveZombie <$> a fs g) params
{- Show warnings only for files/directories that do not exist. -}
forM_ (map fst $ filter (null . snd) $ zip params ll) $ \p ->
- unlessM (liftIO $ doesFileExist p <||> doesDirectoryExist p) $
+ unlessM (isJust <$> (liftIO $ catchMaybeIO $ getSymbolicLinkStatus p)) $
fileNotFound p
return $ concat ll