document 3-level trust
This commit is contained in:
parent
07769fc949
commit
f7e3d6eea2
4 changed files with 42 additions and 8 deletions
3
debian/changelog
vendored
3
debian/changelog
vendored
|
@ -2,6 +2,9 @@ git-annex (0.19) UNRELEASED; urgency=low
|
||||||
|
|
||||||
* Support using the uuidgen command if the uuid command is not available.
|
* Support using the uuidgen command if the uuid command is not available.
|
||||||
* Allow --exclude to be specified more than once.
|
* 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
|
-- Joey Hess <joeyh@debian.org> Wed, 19 Jan 2011 18:07:51 -0400
|
||||||
|
|
||||||
|
|
|
@ -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`
|
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
|
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.
|
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
|
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
|
can be overridden on a per-file-type basis by the annex.numcopies
|
||||||
|
|
|
@ -183,12 +183,13 @@ Many git-annex commands will stage changes for later `git commit` by you.
|
||||||
|
|
||||||
* trust [repository ...]
|
* trust [repository ...]
|
||||||
|
|
||||||
Records that a repository is [[trusted]] to not unexpectedly lose content.
|
Records that a repository is [[trusted|trust]] to not unexpectedly lose
|
||||||
Use with care.
|
content. Use with care.
|
||||||
|
|
||||||
* untrust [repository ...]
|
* untrust [repository ...]
|
||||||
|
|
||||||
Undoes a trust command.
|
Records that a repository is [[not trusted|trusted]] and could lose content
|
||||||
|
at any time.
|
||||||
|
|
||||||
* fromkey file
|
* fromkey file
|
||||||
|
|
||||||
|
|
|
@ -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]]
|
Normally, git-annex does not fully trust its stored [[location_tracking]]
|
||||||
information. When removing content, it will directly check
|
information. When removing content, it will directly check
|
||||||
that other repositories have enough [[copies]].
|
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
|
out. Or, a remote may have suffered a catastrophic loss of data, or itself
|
||||||
been lost.
|
been lost.
|
||||||
|
|
||||||
Sometimes though, you may have reasons to trust the location tracking
|
There is still some trust involved here. A semi-trusted repository is
|
||||||
information for a remote repository. For example, it may be an offline
|
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
|
archival drive, from which you rarely or never remove content. Deciding
|
||||||
when it makes sense to trust the tracking info is up to you.
|
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
|
One way to handle this is just to use `--force` when a command cannot
|
||||||
access a remote you trust.
|
access a remote you trust.
|
||||||
|
|
||||||
Another option is to configure which remotes you trust with the
|
To configure a repository as fully trusted, use the `git annex trust`
|
||||||
`git annex trust` command, or by manually adding the UUIDs of trusted remotes
|
command.
|
||||||
to `.git-annex/trust.log`.
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue