1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
{- git-annex command
-
- Copyright 2012-2023 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU AGPL version 3 or higher.
-}
{-# LANGUAGE OverloadedStrings #-}
module Command.AddUnused where
import Logs.Location
import Command
import Annex.Ingest
import Command.Unused (withUnusedMaps, UnusedMaps(..), startUnused)
cmd :: Command
cmd = withAnnexOptions [jsonOptions] $
command "addunused" SectionMaintenance
"add back unused files"
(paramRepeating paramNumRange) (withParams seek)
seek :: CmdParams -> CommandSeek
seek = withUnusedMaps start
start :: UnusedMaps -> Int -> CommandStart
start = startUnused go (other "bad") (other "tmp")
where
go n key = do
let file = literalOsPath "unused." <> keyFile key
starting "addunused"
(ActionItemTreeFile file)
(SeekInput [show n]) $
next $ do
logStatus NoLiveUpdate key InfoPresent
addSymlink file key Nothing
return True
{- The content is not in the annex, but in another directory, and
- it seems better to error out, rather than moving bad/tmp content
- into the annex. -}
other n _ _ = giveup $ "cannot addunused " ++ n ++ "content"
|