63 lines
1.7 KiB
Markdown
63 lines
1.7 KiB
Markdown
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]]
|