summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-01-21 04:18:05 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-01-21 04:18:46 -0400
commit9805c69542f76545412fac5ebd91c9661c322fa6 (patch)
tree810315f5285671e13c121066a1828c715018d6c9
parent39cb9ad611af6746a7c223e2b09a8d46872b11c6 (diff)
manual and source repository groups
-rw-r--r--Types/StandardGroups.hs17
-rw-r--r--debian/changelog4
-rw-r--r--doc/assistant/release_notes.mdwn6
-rw-r--r--doc/preferred_content.mdwn23
-rw-r--r--git-annex.cabal2
5 files changed, 47 insertions, 5 deletions
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/*"
diff --git a/debian/changelog b/debian/changelog
index ad3a60e2c..392fb535a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-git-annex (3.20130115) UNRELEASED; urgency=low
+git-annex (3.20130122) UNRELEASED; urgency=low
* webapp: More adjustments to longpoll code to deal with changes in
variable quoting in different versions of shakespeare-js.
@@ -21,7 +21,7 @@ git-annex (3.20130115) UNRELEASED; urgency=low
* fsck: Detect and fix consistency errors in direct mode mapping files.
* Avoid filename encoding errors when writing direct mode mappings.
- -- Joey Hess <joeyh@debian.org> Mon, 14 Jan 2013 18:35:01 -0400
+ -- Joey Hess <joeyh@debian.org> Sun, 20 Jan 2013 16:33:18 -0400
git-annex (3.20130114) unstable; urgency=low
diff --git a/doc/assistant/release_notes.mdwn b/doc/assistant/release_notes.mdwn
index d53c7384c..3bf33f8ea 100644
--- a/doc/assistant/release_notes.mdwn
+++ b/doc/assistant/release_notes.mdwn
@@ -1,4 +1,8 @@
-## version 3.20130107 and 3.20130114
+## 3.20130122
+
+This is primarily a bugfix release.
+
+## version 3.20130107, 3.20130114
These are bugfix releases.
diff --git a/doc/preferred_content.mdwn b/doc/preferred_content.mdwn
index 6538bcc80..1def63b6d 100644
--- a/doc/preferred_content.mdwn
+++ b/doc/preferred_content.mdwn
@@ -126,3 +126,26 @@ Note that if you want to archive multiple copies (not a bad idea!),
you should instead configure all your archive repositories with a
version of the above preferred content expression with a larger
number of copies.
+
+### source
+
+Use for repositories where files are often added, but that do not need to
+retain files for local use. For example, a repository on a camera, where
+it's desirable to remove photos as soon as they're transferred elsewhere.
+
+The preferred content expression for these causes them to only retain
+data until a copy has been sent to some other repository.
+
+`not (copies=1)`
+
+### manual
+
+This gives you full manual control over what content is stored in the
+repository. This allows using the [[assistant]] without it trying to keep a
+local copy of every file. Instead, you can manually run `git annex get`,
+`git annex drop`, etc to manage content.
+
+Only content that is present is preferred. Content in "archive"
+directories is never preferred.
+
+`present and exclude=archive/*`
diff --git a/git-annex.cabal b/git-annex.cabal
index e91ca03ef..6363757ac 100644
--- a/git-annex.cabal
+++ b/git-annex.cabal
@@ -1,5 +1,5 @@
Name: git-annex
-Version: 3.20130114
+Version: 3.20130121
Cabal-Version: >= 1.8
License: GPL
Maintainer: Joey Hess <joey@kitenet.net>