ugh
This commit is contained in:
parent
3286e68063
commit
fc26fd059b
1 changed files with 12 additions and 8 deletions
|
@ -10,19 +10,19 @@ git-annex should use smudge/clean filters. v6 mode
|
||||||
branch, which causes 2x the space to be used.
|
branch, which causes 2x the space to be used.
|
||||||
|
|
||||||
"git annex proxy" could be used to handle this.
|
"git annex proxy" could be used to handle this.
|
||||||
Make it run the git command with smudge filters disabled and then
|
Make it run the git command with smudge filter set to not output content
|
||||||
scan through the changed files in the work tree, and update pointer files
|
but only pointers, and then at the end populate the pointer files, hard
|
||||||
to be hard links to their content.
|
when appropriate. (As an optimization, the smudge filter could also be
|
||||||
|
made to use the long-running filter interface when run this way.)
|
||||||
|
|
||||||
git-annex adjust and git-annex sync could both use that internally
|
git-annex adjust and git-annex sync could both use that internally
|
||||||
when checking out the adjusted branch, and merging a branch into HEAD.
|
when checking out the adjusted branch, and merging a branch into HEAD.
|
||||||
|
|
||||||
Or: Make the smudge filter not provide the actual file content, but the
|
Or: Make the smudge filter never provide the actual file content, but the
|
||||||
pointer, at least when used in a checkout. And install a post-checkout
|
pointer. Install post-checkout and post-merge hooks that populate
|
||||||
hook that populates the worktree files that were checked out.
|
the worktree files that were checked out. Of course, they will also
|
||||||
Of course, it will also need to update the index.
|
need to update the index.
|
||||||
|
|
||||||
A post-merge hook would also be needed to handle git pull and merge.
|
|
||||||
Problem: post-merge hook is not run when there's a merge conflict.
|
Problem: post-merge hook is not run when there's a merge conflict.
|
||||||
Git does not actually run the smudge filter in this case;
|
Git does not actually run the smudge filter in this case;
|
||||||
the conflicting file becomes a text file containing a merge conflict
|
the conflicting file becomes a text file containing a merge conflict
|
||||||
|
@ -32,6 +32,10 @@ git-annex should use smudge/clean filters. v6 mode
|
||||||
populated. The post-commit hook would then need to populate the file,
|
populated. The post-commit hook would then need to populate the file,
|
||||||
once the merge got committed.
|
once the merge got committed.
|
||||||
|
|
||||||
|
Problem: No hook seems to be run for git stash / git stash apply
|
||||||
|
or for git reset --hard. 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
|
Optionally: Use the filterdriver interface during checkout. Unfortunately that
|
||||||
interface is slower for cleaning during git add (see
|
interface is slower for cleaning during git add (see
|
||||||
[[todo/Long_Running_Filter_Process]]), but if the smudge filter is not
|
[[todo/Long_Running_Filter_Process]]), but if the smudge filter is not
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue