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.InodeSentinal
import Annex.Concurrent
import Annex.CheckIgnore
import qualified Annex.Branch
import qualified Annex.BranchState
import qualified Database.Keys
@ -81,11 +82,12 @@ withFilesInGitAnnexNonRecursive ww needforce a (WorkTreeItems l) = ifM (Annex.ge
_ -> giveup needforce
withFilesInGitAnnexNonRecursive _ _ _ NoWorkTreeItems = noop
withFilesNotInGit :: WarnUnmatchWhen -> ((SeekInput, RawFilePath) -> CommandSeek) -> WorkTreeItems -> CommandSeek
withFilesNotInGit ww a l = do
withFilesNotInGit :: CheckGitIgnore -> WarnUnmatchWhen -> ((SeekInput, RawFilePath) -> CommandSeek) -> WorkTreeItems -> CommandSeek
withFilesNotInGit (CheckGitIgnore ci) ww a l = do
force <- Annex.getState Annex.force
let include_ignored = force || not ci
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 a params = do

View file

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

View file

@ -16,6 +16,7 @@ import qualified Annex.Branch
import qualified Database.Keys
import Annex.Content
import Annex.Init
import Annex.CheckIgnore
import Utility.FileMode
import qualified Utility.RawFilePath as R
@ -42,7 +43,11 @@ check = do
seek :: CmdParams -> CommandSeek
seek ps = do
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 }
withFilesInGitAnnex ww Command.Unannex.seeker l
finish