git-annex/templates/documentation/repogroup.hamlet
2013-01-21 04:18:46 -04:00

48 lines
2.4 KiB
Text

<div .span9 .hero-unit>
<h2>
Repository groups
<p>
Each repository you configure git-annex to use is a member of a #
repository group. Each group of repositories has a different #
purpose.
<p>
Let's start with the <b>client repositories</b>. These are the #
repositories that contain files that you can directly use. Generally #
you'll have one client repository per computer. The whole point of #
the git-annex assistant is to keep these repositories in sync as you #
change files, add files, delete files, etc.
<p>
The next most important repository group is the #
<b>transfer repositories</b>. #
These are used to transfer files between clients, when the clients #
cannot directly talk to one-another. Transfer repositories only #
hold the files that need to be synced to other repositories, so they #
are relatively small.
<p>
You can get along without any <b>backup repositories</b>, but they're #
a useful safeguard. These repositories accumulate every file they can #
get ahold of. A large removable drive makes a good backup repository.
<p>
Next we come to the <b>archive repositories</b>.
The archive repositories coordinate together, so that each file is #
archived in only one place. When you move files into a folder named #
"archive", they'll be moved to an archive repository, and removed from #
all your client repositories. This is handy if you have old files #
you don't need anymore, but want to keep archived for later. #
When you copy or move a file out of an "archive" folder, it'll be #
retrieved from the archive repository.
<p>
The <b>small archive repositories</b> are like other archive #
repositories, but smaller. While archive repositories normally accumulate #
every file they can, small archive repositories only accumulate files #
once you put them in an "archive" directory.
<p>
Sometimes useful for devices like cameras are the #
<b>source repositories</b>. Repositories in this group only retain #
files until they can be moved to some other repository, like a client #
or transfer repository.
<p>
Finally, repositories can be configured to be <b>manual</b>. This #
prevents content being automatically synced to the repository, but #
you can use command-line tools like `git annex get` and `git annex drop` #
to control what content is present.