git-annex/Command/AddUnused.hs

44 lines
1.1 KiB
Haskell
Raw Normal View History

{- 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
2015-12-22 17:23:33 +00:00
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")
2012-11-12 05:05:04 +00:00
where
go n key = do
let file = "unused." <> keyFile key
starting "addunused"
(ActionItemTreeFile file)
(SeekInput [show n]) $
next $ do
logStatus 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"