annex.adjustedbranchrefresh
Added annex.adjustedbranchrefresh git config to update adjusted branches set up by git-annex adjust --unlock-present/--hide-missing. Note, in a few cases, I was not able to make the adjusted branch be updated in calls to moveAnnex, because information about what file corresponds to a key is not available. They are: * If two files point to one file, then eg, `git annex get foo` will update the branch to unlock foo, but will not unlock bar, because it does not know about it. Might be fixable by making `git annex get bar` do something besides skipping bar? * git-annex-shell recvkey likewise (so sends over ssh from old versions of git-annex) * git-annex setkey * git-annex transferkey if the user does not use --file * git-annex multicast sends keys with no associated file info Doing a single full refresh at the end, after any incremental refresh, will deal with those edge cases.
This commit is contained in:
parent
af6af35228
commit
0896038ba7
28 changed files with 311 additions and 180 deletions
6
Annex.hs
6
Annex.hs
|
@ -143,6 +143,7 @@ data AnnexState = AnnexState
|
|||
, sentinalstatus :: Maybe SentinalStatus
|
||||
, useragent :: Maybe String
|
||||
, errcounter :: Integer
|
||||
, adjustedbranchrefreshcounter :: Integer
|
||||
, unusedkeys :: Maybe (S.Set Key)
|
||||
, tempurls :: M.Map Key URLString
|
||||
, existinghooks :: M.Map Git.Hook.Hook Bool
|
||||
|
@ -203,6 +204,7 @@ newState c r = do
|
|||
, sentinalstatus = Nothing
|
||||
, useragent = Nothing
|
||||
, errcounter = 0
|
||||
, adjustedbranchrefreshcounter = 0
|
||||
, unusedkeys = Nothing
|
||||
, tempurls = M.empty
|
||||
, existinghooks = M.empty
|
||||
|
@ -399,8 +401,8 @@ changeDirectory d = do
|
|||
|
||||
incError :: Annex ()
|
||||
incError = changeState $ \s ->
|
||||
let ! c = errcounter s + 1
|
||||
! s' = s { errcounter = c }
|
||||
let !c = errcounter s + 1
|
||||
!s' = s { errcounter = c }
|
||||
in s'
|
||||
|
||||
getGitRemotes :: Annex [Git.Repo]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue