Promote file not found warning message to an error.
This commit is contained in:
parent
79deba1f51
commit
9ed63d1545
5 changed files with 7 additions and 20 deletions
|
@ -189,10 +189,9 @@ seekHelper :: ([FilePath] -> Git.Repo -> IO ([FilePath], IO Bool)) -> [FilePath]
|
||||||
seekHelper a params = do
|
seekHelper a params = do
|
||||||
ll <- inRepo $ \g ->
|
ll <- inRepo $ \g ->
|
||||||
runSegmentPaths (\fs -> Git.Command.leaveZombie <$> a fs g) params
|
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 ->
|
forM_ (map fst $ filter (null . snd) $ zip params ll) $ \p ->
|
||||||
unlessM (isJust <$> liftIO (catchMaybeIO $ getSymbolicLinkStatus p)) $
|
unlessM (isJust <$> liftIO (catchMaybeIO $ getSymbolicLinkStatus p)) $
|
||||||
fileNotFound p
|
error $ p ++ " not found"
|
||||||
return $ concat ll
|
return $ concat ll
|
||||||
|
|
||||||
notSymlink :: FilePath -> IO Bool
|
notSymlink :: FilePath -> IO Bool
|
||||||
|
|
14
Messages.hs
14
Messages.hs
|
@ -25,7 +25,6 @@ module Messages (
|
||||||
showErr,
|
showErr,
|
||||||
warning,
|
warning,
|
||||||
warningIO,
|
warningIO,
|
||||||
fileNotFound,
|
|
||||||
indent,
|
indent,
|
||||||
maybeShowJSON,
|
maybeShowJSON,
|
||||||
showFullJSON,
|
showFullJSON,
|
||||||
|
@ -45,7 +44,6 @@ import System.Log.Logger
|
||||||
import System.Log.Formatter
|
import System.Log.Formatter
|
||||||
import System.Log.Handler (setFormatter, LogHandler)
|
import System.Log.Handler (setFormatter, LogHandler)
|
||||||
import System.Log.Handler.Simple
|
import System.Log.Handler.Simple
|
||||||
import qualified Data.Set as S
|
|
||||||
|
|
||||||
import Common hiding (handle)
|
import Common hiding (handle)
|
||||||
import Types
|
import Types
|
||||||
|
@ -172,18 +170,6 @@ warningIO w = do
|
||||||
hFlush stdout
|
hFlush stdout
|
||||||
hPutStrLn stderr w
|
hPutStrLn stderr w
|
||||||
|
|
||||||
{- Displays a warning one time about a file the user specified not existing. -}
|
|
||||||
fileNotFound :: FilePath -> Annex ()
|
|
||||||
fileNotFound file = do
|
|
||||||
st <- Annex.getState Annex.output
|
|
||||||
let shown = fileNotFoundShown st
|
|
||||||
when (S.notMember file shown) $ do
|
|
||||||
let shown' = S.insert file shown
|
|
||||||
let st' = st { fileNotFoundShown = shown' }
|
|
||||||
Annex.changeState $ \s -> s { Annex.output = st' }
|
|
||||||
liftIO $ hPutStrLn stderr $ unwords
|
|
||||||
[ "git-annex:", file, "not found" ]
|
|
||||||
|
|
||||||
indent :: String -> String
|
indent :: String -> String
|
||||||
indent = intercalate "\n" . map (\l -> " " ++ l) . lines
|
indent = intercalate "\n" . map (\l -> " " ++ l) . lines
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,6 @@
|
||||||
|
|
||||||
module Types.Messages where
|
module Types.Messages where
|
||||||
|
|
||||||
import qualified Data.Set as S
|
|
||||||
|
|
||||||
data OutputType = NormalOutput | QuietOutput | JSONOutput
|
data OutputType = NormalOutput | QuietOutput | JSONOutput
|
||||||
|
|
||||||
data SideActionBlock = NoBlock | StartBlock | InBlock
|
data SideActionBlock = NoBlock | StartBlock | InBlock
|
||||||
|
@ -17,8 +15,7 @@ data SideActionBlock = NoBlock | StartBlock | InBlock
|
||||||
data MessageState = MessageState
|
data MessageState = MessageState
|
||||||
{ outputType :: OutputType
|
{ outputType :: OutputType
|
||||||
, sideActionBlock :: SideActionBlock
|
, sideActionBlock :: SideActionBlock
|
||||||
, fileNotFoundShown :: S.Set FilePath
|
|
||||||
}
|
}
|
||||||
|
|
||||||
defaultMessageState :: MessageState
|
defaultMessageState :: MessageState
|
||||||
defaultMessageState = MessageState NormalOutput NoBlock S.empty
|
defaultMessageState = MessageState NormalOutput NoBlock
|
||||||
|
|
1
debian/changelog
vendored
1
debian/changelog
vendored
|
@ -10,6 +10,7 @@ git-annex (5.20140832) UNRELEASED; urgency=medium
|
||||||
* The annex-rsync-transport configuration is now also used when checking
|
* The annex-rsync-transport configuration is now also used when checking
|
||||||
if a key is present on a rsync remote, and when dropping a key from
|
if a key is present on a rsync remote, and when dropping a key from
|
||||||
the remote.
|
the remote.
|
||||||
|
* Promote file not found warning message to an error.
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Thu, 04 Sep 2014 16:17:22 -0400
|
-- Joey Hess <joeyh@debian.org> Thu, 04 Sep 2014 16:17:22 -0400
|
||||||
|
|
||||||
|
|
|
@ -24,3 +24,7 @@ henry@commsbox:~/work/tmp/test$ echo $?
|
||||||
|
|
||||||
|
|
||||||
"""]]
|
"""]]
|
||||||
|
|
||||||
|
> Ok, I can find no reason why it was implemented as a warning in
|
||||||
|
> 5f3661238de9f31e6fed0be74fca9d5f1659278c in the bug report associated
|
||||||
|
> with that commit. So, promoted to error. [[done]] --[[Joey]]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue