summaryrefslogtreecommitdiff
path: root/Command/Dead.hs
blob: 180f2fda9037f635e8883aa9976752cd61bbb9a2 (plain)
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
{- git-annex command
 -
 - Copyright 2011 Joey Hess <joey@kitenet.net>
 -
 - Licensed under the GNU GPL version 3 or higher.
 -}

module Command.Dead where

import Common.Annex
import Command
import qualified Remote
import Logs.Trust
import Logs.Group

import qualified Data.Set as S

def :: [Command]
def = [command "dead" (paramRepeating paramRemote) seek
	SectionSetup "hide a lost repository"]

seek :: [CommandSeek]
seek = [withWords start]

start :: [String] -> CommandStart
start ws = do
	let name = unwords ws
	showStart "dead" name
	u <- Remote.nameToUUID name
	next $ perform u

perform :: UUID -> CommandPerform
perform uuid = do
	markDead uuid
	next $ return True

markDead :: UUID -> Annex ()
markDead uuid = do
	trustSet uuid DeadTrusted
	groupSet uuid S.empty