fsck: Don't claim to fix direct mode when run on a symlink whose content is not present.
This commit is contained in:
parent
6999815d91
commit
c1307b1388
2 changed files with 12 additions and 11 deletions
|
@ -189,9 +189,12 @@ toDirectGen k f = do
|
|||
, do
|
||||
{- Copy content from another direct file. -}
|
||||
absf <- liftIO $ absPath f
|
||||
locs <- filterM (\l -> isNothing <$> getAnnexLinkTarget l) =<<
|
||||
(filter (/= absf) <$> addAssociatedFile k f)
|
||||
return $ Just $ fromdirect locs
|
||||
dlocs <- filterM (goodContent k) =<<
|
||||
filterM (\l -> isNothing <$> getAnnexLinkTarget l) =<<
|
||||
(filter (/= absf) <$> addAssociatedFile k f)
|
||||
case dlocs of
|
||||
[] -> return Nothing
|
||||
(dloc:_) -> return $ Just $ fromdirect dloc
|
||||
)
|
||||
where
|
||||
fromindirect loc = do
|
||||
|
@ -201,14 +204,10 @@ toDirectGen k f = do
|
|||
void $ addAssociatedFile k f
|
||||
thawContent loc
|
||||
replaceFile f $ liftIO . moveFile loc
|
||||
fromdirect (loc:locs) = ifM (goodContent k loc)
|
||||
( do
|
||||
replaceFile f $
|
||||
liftIO . void . copyFileExternal loc
|
||||
updateInodeCache k f
|
||||
, fromdirect locs
|
||||
)
|
||||
fromdirect [] = noop
|
||||
fromdirect loc = do
|
||||
replaceFile f $
|
||||
liftIO . void . copyFileExternal loc
|
||||
updateInodeCache k f
|
||||
|
||||
{- Removes a direct mode file, while retaining its content in the annex
|
||||
- (unless its content has already been changed). -}
|
||||
|
|
2
debian/changelog
vendored
2
debian/changelog
vendored
|
@ -30,6 +30,8 @@ git-annex (4.20130628) UNRELEASED; urgency=low
|
|||
for encryption.
|
||||
* dropunused, addunused: Complain when asked to operate on a number that
|
||||
does not correspond to any unused key.
|
||||
* fsck: Don't claim to fix direct mode when run on a symlink whose content
|
||||
is not present.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Tue, 02 Jul 2013 15:40:55 -0400
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue