Only look at reflogs for relevant branches, not for git-annex branches
This speeds it up quite a bit.. May still be too slow in large repos.
This commit is contained in:
parent
600717417f
commit
24800b1bf1
3 changed files with 9 additions and 9 deletions
|
@ -219,7 +219,7 @@ withKeysReferencedInGit refspec a = do
|
|||
shaHead <- maybe (return Nothing) (inRepo . Git.Ref.sha) current
|
||||
rs <- relevantrefs (shaHead, current)
|
||||
<$> inRepo (Git.Command.pipeReadStrict [Param "show-ref"])
|
||||
usedrefs <- applyRefSpec refspec rs (inRepo Git.RefLog.getAll)
|
||||
usedrefs <- applyRefSpec refspec rs (getreflog rs)
|
||||
forM_ usedrefs $
|
||||
withKeysReferencedInGitRef a
|
||||
where
|
||||
|
@ -242,6 +242,7 @@ withKeysReferencedInGit refspec a = do
|
|||
Git.Ref.headRef
|
||||
: nubRefs (filter ((/= x) . fst) refs)
|
||||
_ -> nubRefs refs
|
||||
getreflog rs = inRepo $ Git.RefLog.getMulti rs
|
||||
|
||||
{- Runs an action on keys referenced in the given Git reference which
|
||||
- differ from those referenced in the work tree. -}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue