summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-03-16 11:17:53 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-03-16 11:17:53 -0400
commitdd9b9f32fcca8ed0c871ce1e3736778801611f13 (patch)
tree5f8de8219955faa3e819cd6b930ec343496c6c25
parent2274b305d41b1feb840fe9dd5dabd3b2f705a5ee (diff)
Add incrementalbackup repository group.
-rw-r--r--Types/StandardGroups.hs6
-rw-r--r--debian/changelog1
-rw-r--r--doc/preferred_content.mdwn9
3 files changed, 14 insertions, 2 deletions
diff --git a/Types/StandardGroups.hs b/Types/StandardGroups.hs
index a8ac89b4e..065811442 100644
--- a/Types/StandardGroups.hs
+++ b/Types/StandardGroups.hs
@@ -21,6 +21,7 @@ fromStandardGroup :: StandardGroup -> String
fromStandardGroup ClientGroup = "client"
fromStandardGroup TransferGroup = "transfer"
fromStandardGroup BackupGroup = "backup"
+fromStandardGroup IncrementalBackupGroup = "incrementalbackup"
fromStandardGroup SmallArchiveGroup = "smallarchive"
fromStandardGroup FullArchiveGroup = "archive"
fromStandardGroup SourceGroup = "source"
@@ -30,6 +31,7 @@ toStandardGroup :: String -> Maybe StandardGroup
toStandardGroup "client" = Just ClientGroup
toStandardGroup "transfer" = Just TransferGroup
toStandardGroup "backup" = Just BackupGroup
+toStandardGroup "incrementalbackup" = Just IncrementalBackupGroup
toStandardGroup "smallarchive" = Just SmallArchiveGroup
toStandardGroup "archive" = Just FullArchiveGroup
toStandardGroup "source" = Just SourceGroup
@@ -39,7 +41,8 @@ toStandardGroup _ = Nothing
descStandardGroup :: StandardGroup -> String
descStandardGroup ClientGroup = "client: a repository on your computer"
descStandardGroup TransferGroup = "transfer: distributes files to clients"
-descStandardGroup BackupGroup = "backup: backs up all files"
+descStandardGroup BackupGroup = "full backup: backs up all files"
+descStandardGroup IncrementalBackupGroup = "incremental backup: backs up files not backed up elsewhere"
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"
@@ -50,6 +53,7 @@ preferredContent :: StandardGroup -> String
preferredContent ClientGroup = "exclude=*/archive/* and exclude=archive/*"
preferredContent TransferGroup = "not (inallgroup=client and copies=client:2) and " ++ preferredContent ClientGroup
preferredContent BackupGroup = "include=*"
+preferredContent IncrementalBackupGroup = "include=* and (not copies=incrementalbackup:1)"
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)"
diff --git a/debian/changelog b/debian/changelog
index 2300de0d6..75010c9c6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,7 @@ git-annex (4.20130315) UNRELEASED; urgency=low
* webapp: Improved UI for pairing your own devices together using XMPP.
* webapp: Display an alert when there are XMPP remotes, and a cloud
transfer repository needs to be configured.
+ * Add incrementalbackup repository group.
-- Joey Hess <joeyh@debian.org> Fri, 15 Mar 2013 00:10:07 -0400
diff --git a/doc/preferred_content.mdwn b/doc/preferred_content.mdwn
index 1d7fc6bc8..763e348f1 100644
--- a/doc/preferred_content.mdwn
+++ b/doc/preferred_content.mdwn
@@ -56,7 +56,7 @@ dropped. If the content would not be preferred then, the drop can be done.
So, for example, `copies=2` in a preferred content expression lets
content be dropped only when there are currently 3 copies of it, including
the repo it's being dropped from. This is different than running `git annex
-drop --copies=2`, which will drop files that current have 2 copies.
+drop --copies=2`, which will drop files that currently have 2 copies.
### difference: "present"
@@ -109,6 +109,13 @@ All content is preferred.
`include=*`
+### incremental backup
+
+Only prefers content that's not already backed up to another backup
+or incremental backup repository.
+
+`include=* and (not copies=backup:1) and (not copies=incrementalbackup:1)`
+
### small archive
Only prefers content that's located in an "archive" directory, and