aboutsummaryrefslogtreecommitdiff
path: root/doc/location_tracking.mdwn
blob: 85bb3d1b55534bb04247ee0f833433a1bb4317c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
git-annex keeps track of in which repositories it last saw a file's content.
This location tracking information is stored in the git-annex branch.
Repositories record their UUID and the date when they get or drop 
a file's content. (Git is configured to use a union merge for this file,
so the lines may be in arbitrary order, but it will never conflict.)

This location tracking information is useful if you have multiple
repositories, and not all are always accessible. For example, perhaps one
is on a home file server, and you are away from home. Then git-annex can
tell you what git remote it needs access to in order to get a file:

	# git annex get myfile 
	get myfile(not available)
	  I was unable to access these remotes: home

Another way the location tracking comes in handy is if you put repositories
on removable USB drives, that might be archived away offline in a safe
place. In this sort of case, you probably don't have a git remotes
configured for every USB drive. So git-annex may have to resort to talking
about repository UUIDs. If you have previously used "git annex init"
to attach descriptions to those repositories, it will include their
descriptions to help you with finding them:

	# git annex get myfile
	get myfile (not available)
	  Try making some of these repositories available:
	  	c0a28e06-d7ef-11df-885c-775af44f8882  -- USB archive drive 1
	  	e1938fee-d95b-11df-96cc-002170d25c55

In certain cases you may want to configure git-annex to [[trust]]
that location tracking information is always correct for a repository.