summaryrefslogtreecommitdiff
path: root/doc/git-annex-import.mdwn
blob: 6947b19ba3bee662a6f0e3f69b4372a6f9b93237 (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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# NAME

git-annex import - move and add files from outside git working copy

# SYNOPSIS

git annex import `[path ...]`

# DESCRIPTION

Moves files from somewhere outside the git working copy, and adds them to
the annex. Individual files to import can be specified.
If a directory is specified, the entire directory is imported.
  
        	git annex import /media/camera/DCIM/*

When importing files, there's a possibility of importing a duplicate
of a file that is already known to git-annex -- its content is either
present in the local repository already, or git-annex knows of another
repository that contains it, or it was present in the annex before but has
been removed now.

By default, importing a duplicate of a known file will result in
a new filename being added to the repository, so the duplicate file
is present in the repository twice. (With all checksumming backends,
including the default SHA256E, only one copy of the data will be stored.)

Several options can be used to adjust handling of duplicate files.

# OPTIONS

* `--duplicate`

  Do not delete files from the import location.

  This could allow importing the same files repeatedly
  to different locations in a repository. More likely, it could be used to
  import the same files to a number of different branches or separate git
  repositories.

* `--deduplicate`

  Only import files that are not duplicates;
  duplicate files will be deleted from the import location.

* `--skip-duplicates`

  Only import files that are not duplicates; and avoid deleting
  duplicate files from the import location.

* `--clean-duplicates`

  Does not import any files, but any files found in the import location
  that are duplicates are deleted.

* `--force`

  Allow existing files to be overwritten by newly imported files.

  Also, causes .gitignore to not take effect when adding files.

* file matching options

  Many of the [[git-annex-matching-options]](1)
  can be used to specify files to import.

		git annex import /dir --include='*.png'

* `--jobs=N` `-JN`

  Imports multiple files in parallel. This may be faster.
  For example: `-J4`  

* `--json`

  Enable JSON output. This is intended to be parsed by programs that use
  git-annex. Each line of output is a JSON object.

# CAVEATS

Note that using `--deduplicate` or `--clean-duplicates` with the WORM
backend does not look at file content, but filename and mtime.

If annex.largefiles is configured, and does not match a file, `git annex
import` will add the non-large file directly to the git repository,
instead of to the annex.

# SEE ALSO

[[git-annex]](1)

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

# AUTHOR

Joey Hess <id@joeyh.name>

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