update cached uuids if it's noticed they changed
This commit is contained in:
parent
a200761e66
commit
65e4f9cc73
1 changed files with 12 additions and 13 deletions
25
UUID.hs
25
UUID.hs
|
@ -41,22 +41,21 @@ genUUID = liftIO $ pOpen ReadFromPipe "uuid" ["-m"] $ \h -> hGetLine h
|
||||||
getUUID :: Git.Repo -> Annex UUID
|
getUUID :: Git.Repo -> Annex UUID
|
||||||
getUUID r = do
|
getUUID r = do
|
||||||
g <- Annex.gitRepo
|
g <- Annex.gitRepo
|
||||||
let uuid = cached r g
|
|
||||||
if (uuid /= "")
|
let c = cached r g
|
||||||
then return $ uuid
|
let u = uncached r
|
||||||
else do
|
|
||||||
let uuid = uncached r
|
if (c /= u && u /= "")
|
||||||
if (uuid /= "")
|
then do
|
||||||
then do
|
updatecache g r u
|
||||||
updatecache r g uuid
|
return u
|
||||||
return uuid
|
else return c
|
||||||
else return ""
|
|
||||||
where
|
where
|
||||||
uncached r = Git.configGet r "annex.uuid" ""
|
uncached r = Git.configGet r "annex.uuid" ""
|
||||||
cached r g = Git.configGet g (cachekey r) ""
|
cached r g = Git.configGet g (cachekey r) ""
|
||||||
updatecache r g uuid = do
|
updatecache g r u = do
|
||||||
if (g /= r)
|
if (g /= r)
|
||||||
then setConfig (cachekey r) uuid
|
then setConfig (cachekey r) u
|
||||||
else return ()
|
else return ()
|
||||||
cachekey r = "remote." ++ (Git.repoRemoteName r) ++ ".annex-uuid"
|
cachekey r = "remote." ++ (Git.repoRemoteName r) ++ ".annex-uuid"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue