blob: 9d1fa173f55478a71d22a43a263d28afbe88d1c1 (
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
|
{- KeySource data type
-
- Copyright 2012 Joey Hess <joey@kitenet.net>
-
- Licensed under the GNU GPL version 3 or higher.
-}
module Types.KeySource where
import Data.Ord
{- When content is in the process of being added to the annex,
- and a Key generated from it, this data type is used.
-
- The contentLocation may be different from the filename
- associated with the key. For example, the add command
- temporarily puts the content into a lockdown directory
- for checking. The migrate command uses the content
- of a different Key. -}
data KeySource = KeySource
{ keyFilename :: FilePath
, contentLocation :: FilePath
}
deriving (Show)
{- KeySources are assumed to be equal when the same filename is associated
- with the key. The contentLocation can be a random temp file.
-}
instance Eq KeySource where
x == y = keyFilename x == keyFilename y
instance Ord KeySource where
compare = comparing keyFilename
|