import Annex.Link
import Annex.InodeSentinal
import Annex.Concurrent
+import Annex.CheckIgnore
import qualified Annex.Branch
import qualified Annex.BranchState
import qualified Database.Keys
_ -> 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
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
import qualified Database.Keys
import Annex.Content
import Annex.Init
+import Annex.CheckIgnore
import Utility.FileMode
import qualified Utility.RawFilePath as R
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