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.
This commit is contained in:
parent
1089e85d48
commit
ef3457196a
8 changed files with 37 additions and 30 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue