summaryrefslogtreecommitdiff
path: root/doc/todo/inject_on_import.mdwn
blob: d3326798726330ed6aadca7d988cccc750b438e2 (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
Would it be possible to add an `--inject` option to import?

Say, for example, I have an annex on computer A which has a subset of files and a directory of files which are potentional duplicates of files in the annex.

I would like to do something like this:

    mkdir ~/annex/import
    cd ~/annex/import
    git annex import --deduplicate --inject ~/directory/of/files

This would do the same as `--deduplicate`, except if the file is not present in the annex, it would be injected. For example:

Annex knows about A and B, A is present but B is not.
$DIR contains A, B and C.

A would be deleted from $DIR due to `--deduplicate`.
B would be injected into the repo (making it present) due to `--inject`, then deleted from $DIR.
C would be added to the annex, resulting in this

    $ ls ~/annex/import
    C

> You seem to have described exactly what --deduplicate already does.
> For example:

<pre>
# mkdir x
# cd x
# l
# git init
Initialized empty Git repository in /home/joey/tmp/x/.git/
# git annex init
init  ok
(Recording state in git...)
# echo hello > foo
# git annex add foo
add foo ok
(Recording state in git...)
# mkdir ../src
# echo hello > ../src/bar
# echo new > ../src/baz
# git annex import --deduplicate ../src
import src/bar (duplicate) ok
import src/baz ok
(Recording state in git...)
# ls
foo@  src/
# ls ../src/
# ls src
baz@
</pre>

> And, if you look at the documentation for --deduplicate,
> this is what it says:

<pre>
              To  only  import  files whose content has not been seen
              before by  git-annex,  use  the  --deduplicate  option.
              Duplicate  files  will be deleted from the import loca‐
              tion.
</pre>

> So, [[done]] I suppose... --[[Joey]]