summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-01-26 14:09:06 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-01-26 14:09:06 -0400
commitf7e3d6eea2f71efe14c3ccb29ef4e88840384d02 (patch)
tree29dfcc1d3b40c79a9d9635454971a6f64a5021f7
parent07769fc94968ab65a828c0c001c2fa443a328d99 (diff)
document 3-level trust
-rw-r--r--debian/changelog3
-rw-r--r--doc/copies.mdwn1
-rw-r--r--doc/git-annex.mdwn7
-rw-r--r--doc/trust.mdwn39
4 files changed, 42 insertions, 8 deletions
diff --git a/debian/changelog b/debian/changelog
index 53b6e20a6..529a0896b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,9 @@ git-annex (0.19) UNRELEASED; urgency=low
* Support using the uuidgen command if the uuid command is not available.
* Allow --exclude to be specified more than once.
+ * There are now three levels of repository trust.
+ * untrust: Now marks the current repository as untrusted.
+ * semitrust: Now restores the default trust level. (What untrust used to do.)
-- Joey Hess <joeyh@debian.org> Wed, 19 Jan 2011 18:07:51 -0400
diff --git a/doc/copies.mdwn b/doc/copies.mdwn
index 98f315081..39a714d3b 100644
--- a/doc/copies.mdwn
+++ b/doc/copies.mdwn
@@ -4,6 +4,7 @@ your git repository's `.git` directory, not in some external data store.
It's important that data not get lost by an ill-considered `git annex drop`
command. So, then using those backends, git-annex can be configured to try
to keep N copies of a file's content available across all repositories.
+(Although [[untrusted_repositories|trust]] don't count toward this total.)
By default, N is 1; it is configured by annex.numcopies. This default
can be overridden on a per-file-type basis by the annex.numcopies
diff --git a/doc/git-annex.mdwn b/doc/git-annex.mdwn
index 8e9418fd1..49e67a83e 100644
--- a/doc/git-annex.mdwn
+++ b/doc/git-annex.mdwn
@@ -183,12 +183,13 @@ Many git-annex commands will stage changes for later `git commit` by you.
* trust [repository ...]
- Records that a repository is [[trusted]] to not unexpectedly lose content.
- Use with care.
+ Records that a repository is [[trusted|trust]] to not unexpectedly lose
+ content. Use with care.
* untrust [repository ...]
- Undoes a trust command.
+ Records that a repository is [[not trusted|trusted]] and could lose content
+ at any time.
* fromkey file
diff --git a/doc/trust.mdwn b/doc/trust.mdwn
index 6ce43f30e..edec6568e 100644
--- a/doc/trust.mdwn
+++ b/doc/trust.mdwn
@@ -1,3 +1,11 @@
+Git-annex supports three levels of trust of a repository:
+
+* semitrusted (default)
+* untrusted
+* trusted
+
+## semi-trusted
+
Normally, git-annex does not fully trust its stored [[location_tracking]]
information. When removing content, it will directly check
that other repositories have enough [[copies]].
@@ -7,14 +15,35 @@ Generally that explicit checking is a good idea. Consider that the current
out. Or, a remote may have suffered a catastrophic loss of data, or itself
been lost.
-Sometimes though, you may have reasons to trust the location tracking
-information for a remote repository. For example, it may be an offline
+There is still some trust involved here. A semi-trusted repository is
+dependended on to retain a copy of the file content; possibly the only
+[[copy|copies]].
+
+(Being semitrusted is the default. The `git annex semitrust` command
+restores a repository to this default, when it has been overridden.)
+
+## untrusted
+
+An untrusted repository is not trusted to retain data at all. Git-annex
+will not count data in such a repository as a of the data, and will
+retain sufficient [[copies]] elsewhere.
+
+This is a good choice for eg, portable drives that could get lost. Or,
+if a disk is known to be dying, you can set it to untrusted and let
+`git annex fsck` warn about data that needs to be copied off it.
+
+To configure a repository as untrusted, use the `git annex untrust`
+command.
+
+## trusted
+
+Sometimes, you may have reasons to fully trust the location tracking
+information for a repository. For example, it may be an offline
archival drive, from which you rarely or never remove content. Deciding
when it makes sense to trust the tracking info is up to you.
One way to handle this is just to use `--force` when a command cannot
access a remote you trust.
-Another option is to configure which remotes you trust with the
-`git annex trust` command, or by manually adding the UUIDs of trusted remotes
-to `.git-annex/trust.log`.
+To configure a repository as fully trusted, use the `git annex trust`
+command.