summaryrefslogtreecommitdiff
path: root/doc/git-annex-unused.mdwn
blob: c299715253f35bbc9ec399a91619cbb1e3f0e9d7 (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# NAME

git-annex unused - look for unused file content

# SYNOPSIS

git annex unused

# DESCRIPTION

Checks the annex for data that does not correspond to any files present
in any tag or branch, and prints a numbered list of the data.

After running this command, you can use the `--unused` option with many 
other git-annex commands to operate on all the unused data that was found.

For example, to move all unused data to origin:
  
	git annex unused; git annex move --unused --to origin

# OPTIONS

* `--fast`

  Only show unused temp and bad files.

* `--from=remote`

  Check for unused data that is located on a remote.

* `--used-refspec=+ref:-ref`

  By default, any data that the work tree uses, or that any refs in the git
  repository point to is considered to be used. If you only want to use
  some refs, you can use this option to specify the ones to use. Data that
  is not in the specified refs (and not used by the work tree) will then be
  considered unused.

  The git configuration annex.used-refspec can be used to configure
  this in a more permanent fashion.

# REFSPEC FORMAT

The refspec format for --used-refspec is a colon-separated list of
additions and removals of refs. For example:

	+refs/heads/*:+HEAD^:+refs/tags/*:-refs/tags/old-tag

This adds all refs/heads/ refs, as well as the previous version
of HEAD. It also adds all tags, except for old-tag.

The refspec is processed by starting with an empty set of refs,
and walking the list in order from left to right.

Each + using a glob is matched against all relevant refs
(a subset of `git show-ref`) and all matching refs are added
to the set.
For example, "+refs/remotes/*" adds all remote refs.

Each + without a glob adds the literal value to the set.
For example, "+HEAD^" adds "HEAD^".

Each - is matched against the set of refs accumulated so far.
Any matching refs are removed from the set.

"reflog" adds all the refs from the reflog. This will make past versions
of files not be considered to be unused until the ref expires from the
reflog (by default for 90 days). Note that this may make git-annex unused
take some time to complete, it if needs to check every ref from the
reflog.

# SEE ALSO

[[git-annex]](1)

[[git-annex-dropunused]](1)

[[git-annex-addunused]](1)

# AUTHOR

Joey Hess <id@joeyh.name>

Warning: Automatically converted into a man page by mdwn2man. Edit with care.