annex.skipunknown with transition plan
Added annex.skipunknown git config, that can be set to false to change the behavior of commands like `git annex get foo*`, to not skip over files/dirs that are not checked into git and are explicitly listed in the command line. Significant complexity was needed to handle git-annex add, which uses some git ls-files calls, but needs to not use --error-unmatch because of course the files are not known to git. annex.skipunknown is planned to change to default to false in a git-annex release in early 2022. There's a todo for that.
This commit is contained in:
parent
5b28a37ea1
commit
89b2542d3c
42 changed files with 271 additions and 169 deletions
|
@ -636,11 +636,11 @@ seekSyncContent o rs currbranch = do
|
|||
Just WantAllKeys -> Just <$> genBloomFilter (seekworktree mvar [])
|
||||
_ -> case currbranch of
|
||||
(Just origbranch, Just adj) | adjustmentHidesFiles adj -> do
|
||||
l <- workTreeItems' (AllowHidden True) (contentOfOption o)
|
||||
l <- workTreeItems' (AllowHidden True) ww (contentOfOption o)
|
||||
seekincludinghidden origbranch mvar l (const noop)
|
||||
pure Nothing
|
||||
_ -> do
|
||||
l <- workTreeItems (contentOfOption o)
|
||||
l <- workTreeItems ww (contentOfOption o)
|
||||
seekworktree mvar l (const noop)
|
||||
pure Nothing
|
||||
withKeyOptions' (keyOptions o) False
|
||||
|
@ -651,13 +651,15 @@ seekSyncContent o rs currbranch = do
|
|||
liftIO $ not <$> isEmptyMVar mvar
|
||||
where
|
||||
seekworktree mvar l bloomfeeder =
|
||||
seekHelper LsFiles.inRepo l
|
||||
seekHelper ww LsFiles.inRepo l
|
||||
>>= gofiles bloomfeeder mvar
|
||||
|
||||
seekincludinghidden origbranch mvar l bloomfeeder =
|
||||
seekHelper (LsFiles.inRepoOrBranch origbranch) l
|
||||
seekHelper ww (LsFiles.inRepoOrBranch origbranch) l
|
||||
>>= gofiles bloomfeeder mvar
|
||||
|
||||
ww = WarnUnmatchLsFiles
|
||||
|
||||
gofiles bloomfeeder mvar = mapM_ $ \f ->
|
||||
ifAnnexed f
|
||||
(go (Right bloomfeeder) mvar (AssociatedFile (Just f)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue