summaryrefslogtreecommitdiff
path: root/doc/walkthrough/automatically_managing_content.mdwn
blob: 74a4c1b5b79fe581bd9bc4607981c4d82442e9c7 (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
32
33
34
35
36
37
38
Once you have multiple repositories, and have perhaps configured numcopies,
any given file can have many more copies than is needed, or perhaps fewer
than you would like. How to manage this?

The whereis subcommand can be used to see how many copies of a file are known,
but then you have to decide what to get or drop. In this example, there
are rather too many copies of `other_file` and perhaps not enough of the
other file.

	# cd /media/usbdrive
	# git annex whereis
	whereis my_cool_big_file (1 copy)
		0c443de8-e644-11df-acbf-f7cd7ca6210d  -- laptop
	whereis other_file (3 copies)
		0c443de8-e644-11df-acbf-f7cd7ca6210d  -- laptop
		62b39bbe-4149-11e0-af01-bb89245a1e61  -- usb drive <-- here
		7570b02e-15e9-11e0-adf0-9f3f94cb2eaa  -- backup drive

What would be handy is some automated versions of get and drop, that only
get a file if there are not yet enough copies of it, or only drop a file
if there are too many copies. Well, these exist, just use the --auto
option.

	# git annex get --auto --numcopies=2
	get my_cool_big_file (from laptop...) ok
	# git annex drop --auto --numcopies=2
	drop other_file ok

With two quick commands, git-annex was able to decide for you how to
work toward having two copies of your files.

	# git annex whereis
	whereis my_cool_big_file (2 copies)
		0c443de8-e644-11df-acbf-f7cd7ca6210d  -- laptop
		62b39bbe-4149-11e0-af01-bb89245a1e61  -- usb drive <-- here
	whereis other_file (2 copies)
		0c443de8-e644-11df-acbf-f7cd7ca6210d  -- laptop
		7570b02e-15e9-11e0-adf0-9f3f94cb2eaa  -- backup drive