devblog
This commit is contained in:
parent
f2a4db724c
commit
dd5611b737
2 changed files with 30 additions and 10 deletions
19
doc/devblog/day_551__v6_or_v7.mdwn
Normal file
19
doc/devblog/day_551__v6_or_v7.mdwn
Normal file
|
@ -0,0 +1,19 @@
|
|||
In the `delaysmudge` branch, I've implemented the delayed worktree update in
|
||||
the post-merge/post-checkout hooks for v6. It works very well!
|
||||
|
||||
In particular, with annex.thin set, checking out a branch
|
||||
containing a huge unlocked file does a fast hard link to the file.
|
||||
|
||||
Remaining problem before merging that is, how to get the new hooks installed? Of
|
||||
course `git annex init` and `git annex upgrade` install them, but I know plenty
|
||||
of people have v6 repositories already, without those hooks.
|
||||
|
||||
So, would it be better to bump up to v7 and install the hooks on that upgrade,
|
||||
or stay on v6 and say that it was, after all, experimental up until now, and
|
||||
so the minor bother of needing to run `git annex init` in existing v6 repositories
|
||||
is acceptable? If the version is bumped to v7, that will cause some pain
|
||||
for users of older versions of git-annex that won't support it, but those old
|
||||
versions also have pretty big gaps in their support for v6. I'm undecided,
|
||||
but leaning toward v7, even though it will also mean a lot of work to update
|
||||
all the documentation, as well as needing changes to projects like datalad that use
|
||||
git-annex. Feedback on this decision is welcomed below...
|
|
@ -37,20 +37,20 @@ git-annex should use smudge/clean filters. v6 mode
|
|||
Fatal or can we live with needing to run a
|
||||
git-annex command to populate the files after those commands?
|
||||
|
||||
Optionally: Use the filterdriver interface during checkout. Unfortunately that
|
||||
interface is slower for cleaning during git add (see
|
||||
[[todo/Long_Running_Filter_Process]]), but if the smudge filter is not
|
||||
providing git with the file content and letting a
|
||||
post-checkout/post-merge/post-commit hooks
|
||||
populate the files, using filterdriver would avoid git running many
|
||||
git-annex smudge processes, greatly speeding up large checkouts.
|
||||
git add could be left slow, with git-annex add being the fast path,
|
||||
until the filterdriver interface is improved. Or, make "git annex proxy"
|
||||
use the filterdriver interface for checkout.
|
||||
> implemented on the `delaysmudge` branch now
|
||||
|
||||
(My enhanced smudge/clean patch set also fixed this problem, in a much
|
||||
nicer way...)
|
||||
|
||||
* Optionally: Use the filterdriver interface during checkout. Unfortunately that
|
||||
interface is slower for cleaning during git add (see
|
||||
[[todo/Long_Running_Filter_Process]]), but since the smudge filter is not
|
||||
providing git with the file content any more, using filterdriver would
|
||||
avoid git running many git-annex smudge processes, greatly speeding up large
|
||||
checkouts. git add could be left slow, with git-annex add being the fast path,
|
||||
until the filterdriver interface is improved. Or, make "git annex proxy"
|
||||
use the filterdriver interface for checkout.
|
||||
|
||||
* When git runs the smudge filter, it buffers all its output in ram before
|
||||
writing it to a file. So, checking out a branch with a large v6 unlocked files
|
||||
can cause git to use a lot of memory.
|
||||
|
@ -66,6 +66,7 @@ git-annex should use smudge/clean filters. v6 mode
|
|||
|
||||
The annex.thin idea above could work around this problem.
|
||||
|
||||
> implemented on the `delaysmudge` branch now
|
||||
|
||||
## other warts
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue