blog for yesterday

This commit is contained in:
Joey Hess 2013-01-08 12:41:09 -04:00
parent b21ef29a6b
commit 174867b846
4 changed files with 37 additions and 8 deletions

View file

@ -16,6 +16,7 @@ import qualified Types.Backend
import qualified Types.Key
import qualified Backend
import Annex.Content
import Annex.Content.Direct
import Annex.Perms
import Logs.Location
import Logs.Trust
@ -301,14 +302,20 @@ checkKeySizeOr bad key file = case Types.Key.keySize key of
{- Runs the backend specific check on a key's content.
-
- In direct mode, this is skipped, because files can change at any time. -}
- In direct mode this is not done if the file has clearly been modified,
- because modification of direct mode files is allowed. It's still done
- if the file does not appear modified, to catch disk corruption, etc.
-}
checkBackend :: Backend -> Key -> Annex Bool
checkBackend backend key = ifM isDirect
( return True
, do
file <- inRepo $ gitAnnexLocation key
checkBackendOr badContent backend key file
)
checkBackend backend key = do
file <- inRepo $ gitAnnexLocation key
ifM isDirect
( ifM (goodContent key file)
( checkBackendOr badContent backend key file
, return True
)
, checkBackendOr badContent backend key file
)
checkBackendRemote :: Backend -> Key -> Remote -> Maybe FilePath -> Annex Bool
checkBackendRemote backend key remote = maybe (return True) go

6
debian/changelog vendored
View file

@ -1,3 +1,9 @@
git-annex (3.20130108) UNRELEASED; urgency=low
* fsck: Better checking of file content in direct mode.
-- Joey Hess <joeyh@debian.org> Tue, 08 Jan 2013 12:37:38 -0400
git-annex (3.20130107) unstable; urgency=low
* webapp: Add UI to stop and restart assistant.

View file

@ -0,0 +1,16 @@
(Posted a day late.)
Got `git annex add` (and `addurl`) working in direct mode. This allowed me
to make `git annex sync` in direct mode no longer automatically add new
files.
It's also now safe to mix direct mode annexed files with regular files in
git, in the same repository. Might have been safe all along, but I've
tested it, and it certianly works now. You just have to be careful to not
use `git commit -a` to commit changes to such files, since that'll also
stage the entire content of direct mode files.
Made a minor release for these recent changes and bugfixes. Recommended if
you're using direct mode. Had to chase down a stupid typo I made yesterday
that caused fsck to infinite loop if it found a corrupted file. Thank
goodness for test suites.

View file

@ -1,5 +1,5 @@
Name: git-annex
Version: 3.20130107
Version: 3.20130108
Cabal-Version: >= 1.8
License: GPL
Maintainer: Joey Hess <joey@kitenet.net>