SHAnE backends are now smarter about composite extensions, such as .tar.gz Closes: #680450
This commit is contained in:
parent
25701717eb
commit
5a753a7b8a
2 changed files with 11 additions and 8 deletions
|
@ -97,16 +97,17 @@ keyValueE :: SHASize -> KeySource -> Annex (Maybe Key)
|
|||
keyValueE size source = keyValue size source >>= maybe (return Nothing) addE
|
||||
where
|
||||
addE k = return $ Just $ k
|
||||
{ keyName = keyName k ++ extension
|
||||
{ keyName = keyName k ++ selectExtension (keyFilename source)
|
||||
, keyBackendName = shaNameE size
|
||||
}
|
||||
naiveextension = takeExtension $ keyFilename source
|
||||
extension
|
||||
-- long or newline containing extensions are
|
||||
-- probably not really an extension
|
||||
| length naiveextension > 6 ||
|
||||
'\n' `elem` naiveextension = ""
|
||||
| otherwise = naiveextension
|
||||
|
||||
selectExtension :: FilePath -> String
|
||||
selectExtension = join "." . reverse . take 2 . takeWhile shortenough .
|
||||
reverse . split "." . takeExtensions
|
||||
where
|
||||
shortenough e
|
||||
| '\n' `elem` e = False -- newline in extension?!
|
||||
| otherwise = length e <= 4 -- long enough for "jpeg"
|
||||
|
||||
{- A key's checksum is checked during fsck. -}
|
||||
checkKeyChecksum :: SHASize -> Key -> FilePath -> Annex Bool
|
||||
|
|
2
debian/changelog
vendored
2
debian/changelog
vendored
|
@ -9,6 +9,8 @@ git-annex (3.20120630) UNRELEASED; urgency=low
|
|||
but avoids portability problems.
|
||||
* Use SHA library for files less than 50 kb in size, at which point it's
|
||||
faster than forking the more optimised external program.
|
||||
* SHAnE backends are now smarter about composite extensions, such as
|
||||
.tar.gz Closes: #680450
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Sun, 01 Jul 2012 15:04:37 -0400
|
||||
|
||||
|
|
Loading…
Reference in a new issue