comment and todo
This commit is contained in:
parent
27ec6c7427
commit
e7b0754171
2 changed files with 37 additions and 0 deletions
|
@ -0,0 +1,21 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="joey"
|
||||||
|
subject="""comment 7"""
|
||||||
|
date="2021-01-04T16:13:36Z"
|
||||||
|
content="""
|
||||||
|
This will avoid the overhead of the smudge filter, when all the files
|
||||||
|
you're adding are ones you want stored in git, *not* in git-annex.
|
||||||
|
|
||||||
|
git-annex add --force-small
|
||||||
|
|
||||||
|
I do think it would be possible for `git-annex add` to use the same method
|
||||||
|
whenever it adds non-large files. But it might have unwanted other effects,
|
||||||
|
since the way that manages to be fast is by avoding using `git add` and
|
||||||
|
having git-annex hash the file and add it to git itself. Opened
|
||||||
|
[[todo/speed_up_git_annex_add_of_small_files]] to consider this.
|
||||||
|
|
||||||
|
The only way to speed up `git add` is to disable the smudge filter, but then
|
||||||
|
all files you `git add` will be stored in git, not in git-annex. And
|
||||||
|
disabling the smudge filter also will prevent using unlocked annexed files.
|
||||||
|
(See [[todo/git_smudge_clean_interface_suboptiomal]] for background.)
|
||||||
|
"""]]
|
16
doc/todo/speed_up_git_annex_add_of_small_files.mdwn
Normal file
16
doc/todo/speed_up_git_annex_add_of_small_files.mdwn
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
When adding a lot of small files to git with `git annex add`,
|
||||||
|
it is slow because git runs the smudge filter on all files
|
||||||
|
and [[that_is_slow|todo/git_smudge_clean_interface_suboptiomal]].
|
||||||
|
|
||||||
|
But `git-annex add --force-small` is much much faster, because that
|
||||||
|
bypasses git add entirely, hashing the content and staging it in the index
|
||||||
|
from git-annex. So could that same method be used to speed up the slow case?
|
||||||
|
|
||||||
|
My concern with doing this is that there may be things that `git add`
|
||||||
|
does that are not done when bypassing it. The only one I can think of is,
|
||||||
|
if the user has other smudge/clean filters than the git-annex one
|
||||||
|
installed, they would not be run either. It could be argued that's a bug
|
||||||
|
with the existing `--force-small` too, but at least that's not the default.
|
||||||
|
|
||||||
|
Possible alternate approach: Unsetting filter.annex.smudge and
|
||||||
|
filter.annex.clean when running `git add`?
|
Loading…
Add table
Add a link
Reference in a new issue