1a9af823bc
This also changes addunused to display the names of the files that it adds. That seems like a general usability improvement, and not displaying the input number does not seem likely to be a problem to a user, since the filename is based on the key. Displaying the filename was necessary to get it and the key included in the json. dropunused does not include the key in the json. It would be possible to add, but would need more changes. And I doubt that dropunused --json would be used in a situation where a program cared which keys were dropped. Note that drop --unused does have the key in its json, so such a program could just use it. Or could just dropkey --batch with the specific keys it wants to drop if it cares about specific keys. Sponsored-By: the NIH-funded NICEMAN (ReproNim TR&D3) project
43 lines
1.1 KiB
Haskell
43 lines
1.1 KiB
Haskell
{- 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 = "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"
|
||
|