2014-12-18 16:49:46 +00:00
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
2015-01-05 20:51:05 +00:00
> 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]]