packages feed

git-annex-3.20130124: templates/documentation/repogroup.hamlet

<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.