optimise ObjectHashLower handling
A repo tuned with ObjectHashLower only ever uses lower-case hash directories, so unlike a bare repo which could have old mixed case directories, there is no need to do an expensive check of the filesystem in this case.
This commit is contained in:
parent
256b86b948
commit
a928190985
1 changed files with 4 additions and 6 deletions
10
Locations.hs
10
Locations.hs
|
@ -144,13 +144,11 @@ gitAnnexLocation' key r config crippled checker gitdir
|
|||
- Repositories on filesystems that are crippled also use
|
||||
- hashDirLower, since they do not use symlinks and it's
|
||||
- more portable.
|
||||
-
|
||||
- ObjectHashLower can also be set to force it.
|
||||
-}
|
||||
| Git.repoIsLocalBare r
|
||||
|| crippled
|
||||
|| hasDifference ObjectHashLower (annexDifferences config) =
|
||||
check $ map inrepo $ annexLocations config key
|
||||
| Git.repoIsLocalBare r || crippled =
|
||||
check $ map inrepo $ annexLocations config key
|
||||
| hasDifference ObjectHashLower (annexDifferences config) =
|
||||
return $ inrepo $ annexLocation config key hashDirLower
|
||||
{- Non-bare repositories only use hashDirMixed, so
|
||||
- don't need to do any work to check if the file is
|
||||
- present. -}
|
||||
|
|
Loading…
Reference in a new issue