diff --git a/CmdLine/Seek.hs b/CmdLine/Seek.hs index 89a13a96a0..42ab541a96 100644 --- a/CmdLine/Seek.hs +++ b/CmdLine/Seek.hs @@ -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 diff --git a/Command/Add.hs b/Command/Add.hs index d222e4e678..e42b71e0eb 100644 --- a/Command/Add.hs +++ b/Command/Add.hs @@ -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 diff --git a/Command/Uninit.hs b/Command/Uninit.hs index 5464849197..de05febbaf 100644 --- a/Command/Uninit.hs +++ b/Command/Uninit.hs @@ -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