make git-annex add --no-check-gitignore not skip ignored files, same as with --force

This commit is contained in:
Joey Hess 2020-09-18 13:33:35 -04:00
parent 46a7fcef0d
commit 3457b526ef
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
3 changed files with 12 additions and 5 deletions

View file

@ -39,6 +39,7 @@ import Annex.Content
import Annex.Link import Annex.Link
import Annex.InodeSentinal import Annex.InodeSentinal
import Annex.Concurrent import Annex.Concurrent
import Annex.CheckIgnore
import qualified Annex.Branch import qualified Annex.Branch
import qualified Annex.BranchState import qualified Annex.BranchState
import qualified Database.Keys import qualified Database.Keys
@ -81,11 +82,12 @@ withFilesInGitAnnexNonRecursive ww needforce a (WorkTreeItems l) = ifM (Annex.ge
_ -> giveup needforce _ -> giveup needforce
withFilesInGitAnnexNonRecursive _ _ _ NoWorkTreeItems = noop withFilesInGitAnnexNonRecursive _ _ _ NoWorkTreeItems = noop
withFilesNotInGit :: WarnUnmatchWhen -> ((SeekInput, RawFilePath) -> CommandSeek) -> WorkTreeItems -> CommandSeek withFilesNotInGit :: CheckGitIgnore -> WarnUnmatchWhen -> ((SeekInput, RawFilePath) -> CommandSeek) -> WorkTreeItems -> CommandSeek
withFilesNotInGit ww a l = do withFilesNotInGit (CheckGitIgnore ci) ww a l = do
force <- Annex.getState Annex.force force <- Annex.getState Annex.force
let include_ignored = force || not ci
seekFiltered a $ seekFiltered a $
seekHelper id ww (const $ LsFiles.notInRepo [] force) l seekHelper id ww (const $ LsFiles.notInRepo [] include_ignored) l
withPathContents :: ((FilePath, FilePath) -> CommandSeek) -> CmdParams -> CommandSeek withPathContents :: ((FilePath, FilePath) -> CommandSeek) -> CmdParams -> CommandSeek
withPathContents a params = do withPathContents a params = do

View file

@ -98,7 +98,7 @@ seek o = startConcurrency commandStages $ do
l <- workTreeItems ww (addThese o) l <- workTreeItems ww (addThese o)
let go a = a ww (commandAction . gofile) l let go a = a ww (commandAction . gofile) l
unless (updateOnly o) $ unless (updateOnly o) $
go withFilesNotInGit go (withFilesNotInGit (checkGitIgnoreOption o))
go withFilesMaybeModified go withFilesMaybeModified
go withUnmodifiedUnlockedPointers go withUnmodifiedUnlockedPointers

View file

@ -16,6 +16,7 @@ import qualified Annex.Branch
import qualified Database.Keys import qualified Database.Keys
import Annex.Content import Annex.Content
import Annex.Init import Annex.Init
import Annex.CheckIgnore
import Utility.FileMode import Utility.FileMode
import qualified Utility.RawFilePath as R import qualified Utility.RawFilePath as R
@ -42,7 +43,11 @@ check = do
seek :: CmdParams -> CommandSeek seek :: CmdParams -> CommandSeek
seek ps = do seek ps = do
l <- workTreeItems ww ps l <- workTreeItems ww ps
withFilesNotInGit WarnUnmatchWorkTreeItems (\(_, f) -> commandAction $ whenAnnexed (startCheckIncomplete . fromRawFilePath) f) l withFilesNotInGit
(CheckGitIgnore False)
WarnUnmatchWorkTreeItems
(\(_, f) -> commandAction $ whenAnnexed (startCheckIncomplete . fromRawFilePath) f)
l
Annex.changeState $ \s -> s { Annex.fast = True } Annex.changeState $ \s -> s { Annex.fast = True }
withFilesInGitAnnex ww Command.Unannex.seeker l withFilesInGitAnnex ww Command.Unannex.seeker l
finish finish