This commit is contained in:
Joey Hess 2018-08-14 11:02:55 -04:00
parent d8a8f2df70
commit 66a4483dfa
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
2 changed files with 36 additions and 3 deletions

View file

@ -0,0 +1,32 @@
[[!comment format=mdwn
username="joey"
subject="""comment 1"""
date="2018-08-14T14:50:51Z"
content="""
You can use `git annex setpresentkey` to tell git-annex that a remote with
a given uuid contains a given content.
For example, if the proxy remote is named proxy
and you know it contains all annexed files in the current directory
and below, you could run this to tell git-annex that the proxy contains
all the files it thought it didn't contain:
uuid=$(git config remote.proxy.annex-uuid)
git annex find --not --in proxy --format "\${key} $uuid 1\n" | \
git annex setpresentkey --batch
There will be some problems using this empty proxy remote, eg if you
run `git annex move somefile --from proxy`, git-annex will try to
delete the content from it, see the content is not there, and update its
location tracking to say that the proxy does not contain the content any
longer. `git annex fsck --from proxy` will do similar so you'll need to
avoid it.
And, you'll probably want to use `git annex trust proxy` so that `git-annex
drop` assumes it contains the content you said it has; by default git-annex
will double-check and that check will fail.
To avoid all these kind of issues with the proxy, a better approach might
be to make a custom special remote that actually accesses the data on the
tape drive. See [[special remote implementation howto|special_remotes/external]]
"""]]

View file

@ -42,13 +42,14 @@ git-annex should use smudge/clean filters.
> update-index would add the new content. To avoid this, use
> `git update-index --index-info`. The next run of `git status`
> then runs the clean filter, and will detect if the file has gotten
> modified after the get/drop.
> modified after the get/drop. TODO
* Implement git's new `filter.<driver>.process` interface, which will
* Use git's new `filter.<driver>.process` interface, which will
let only 1 git-annex process be started by git when processing
multiple files, and so should be faster.
See [[todo/Long_Running_Filter_Process]]
See [[todo/Long_Running_Filter_Process]] .. it's not currently actually a
win but might be a good way to improve git to work better with v6.
* Checking out a different branch causes git to smudge all changed files,
and write their content. This does not honor annex.thin. A warning