From 9805c69542f76545412fac5ebd91c9661c322fa6 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 21 Jan 2013 04:18:05 -0400 Subject: manual and source repository groups --- Types/StandardGroups.hs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'Types/StandardGroups.hs') diff --git a/Types/StandardGroups.hs b/Types/StandardGroups.hs index bdc8c4b66..5be5fa8b7 100644 --- a/Types/StandardGroups.hs +++ b/Types/StandardGroups.hs @@ -7,7 +7,14 @@ module Types.StandardGroups where -data StandardGroup = ClientGroup | TransferGroup | BackupGroup | SmallArchiveGroup | FullArchiveGroup +data StandardGroup + = ClientGroup + | TransferGroup + | BackupGroup + | SmallArchiveGroup + | FullArchiveGroup + | SourceGroup + | ManualGroup deriving (Eq, Ord, Enum, Bounded, Show) fromStandardGroup :: StandardGroup -> String @@ -16,6 +23,8 @@ fromStandardGroup TransferGroup = "transfer" fromStandardGroup BackupGroup = "backup" fromStandardGroup SmallArchiveGroup = "smallarchive" fromStandardGroup FullArchiveGroup = "archive" +fromStandardGroup SourceGroup = "source" +fromStandardGroup ManualGroup = "manual" toStandardGroup :: String -> Maybe StandardGroup toStandardGroup "client" = Just ClientGroup @@ -23,6 +32,8 @@ toStandardGroup "transfer" = Just TransferGroup toStandardGroup "backup" = Just BackupGroup toStandardGroup "smallarchive" = Just SmallArchiveGroup toStandardGroup "archive" = Just FullArchiveGroup +toStandardGroup "source" = Just SourceGroup +toStandardGroup "manual" = Just ManualGroup toStandardGroup _ = Nothing descStandardGroup :: StandardGroup -> String @@ -31,6 +42,8 @@ descStandardGroup TransferGroup = "transfer: distributes files to clients" descStandardGroup BackupGroup = "backup: backs up all files" descStandardGroup SmallArchiveGroup = "small archive: archives files located in \"archive\" directories" descStandardGroup FullArchiveGroup = "full archive: archives all files not archived elsewhere" +descStandardGroup SourceGroup = "file source: moves files on to other repositories" +descStandardGroup ManualGroup = "manual mode: only stores files you manually choose" {- See doc/preferred_content.mdwn for explanations of these expressions. -} preferredContent :: StandardGroup -> String @@ -39,3 +52,5 @@ preferredContent TransferGroup = "not (inallgroup=client and copies=client:2) an preferredContent BackupGroup = "include=*" preferredContent SmallArchiveGroup = "(include=*/archive/* or include=archive/*) and " ++ preferredContent FullArchiveGroup preferredContent FullArchiveGroup = "not (copies=archive:1 or copies=smallarchive:1)" +preferredContent SourceGroup = "not (copies=1)" +preferredContent ManualGroup = "present and exclude=archive/*" -- cgit v1.2.3