aboutsummaryrefslogtreecommitdiff
path: root/Backend
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-11-04 15:21:45 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-11-04 15:51:01 -0400
commitef3457196ace3669ddfa93039f2d3c15baf54713 (patch)
tree391787de35537c71068cdd8e2fc882109a2c3b79 /Backend
parent1089e85d48a0d3c455fc2f4139b82484b94b5bbe (diff)
use SHA256 by default
To get old behavior, add a .gitattributes containing: * annex.backend=WORM I feel that SHA256 is a better default for most people, as long as their systems are fast enough that checksumming their files isn't a problem. git-annex should default to preserving the integrity of data as well as git does. Checksum backends also work better with editing files via unlock/lock. I considered just using SHA1, but since that hash is believed to be somewhat near to being broken, and git-annex deals with large files which would be a perfect exploit medium, I decided to go to a SHA-2 hash. SHA512 is annoyingly long when displayed, and git-annex displays it in a few places (and notably it is shown in ls -l), so I picked the shorter hash. Considered SHA224 as it's even shorter, but feel it's a bit weird. I expect git-annex will use SHA-3 at some point in the future, but probably not soon! Note that systems without a sha256sum (or sha256) program will fall back to defaulting to SHA1.
Diffstat (limited to 'Backend')
-rw-r--r--Backend/SHA.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/Backend/SHA.hs b/Backend/SHA.hs
index 3a54a8871..d44982117 100644
--- a/Backend/SHA.hs
+++ b/Backend/SHA.hs
@@ -16,12 +16,12 @@ import qualified Build.SysConfig as SysConfig
type SHASize = Int
+-- order is slightly significant; want SHA256 first, and more general
+-- sizes earlier
sizes :: [Int]
-sizes = [1, 256, 512, 224, 384]
+sizes = [256, 1, 512, 224, 384]
backends :: [Backend Annex]
--- order is slightly significant; want sha1 first, and more general
--- sizes earlier
backends = catMaybes $ map genBackend sizes ++ map genBackendE sizes
genBackend :: SHASize -> Maybe (Backend Annex)