annex.adjustedbranchrefresh
Added annex.adjustedbranchrefresh git config to update adjusted branches set up by git-annex adjust --unlock-present/--hide-missing. Note, in a few cases, I was not able to make the adjusted branch be updated in calls to moveAnnex, because information about what file corresponds to a key is not available. They are: * If two files point to one file, then eg, `git annex get foo` will update the branch to unlock foo, but will not unlock bar, because it does not know about it. Might be fixable by making `git annex get bar` do something besides skipping bar? * git-annex-shell recvkey likewise (so sends over ssh from old versions of git-annex) * git-annex setkey * git-annex transferkey if the user does not use --file * git-annex multicast sends keys with no associated file info Doing a single full refresh at the end, after any incremental refresh, will deal with those edge cases.
This commit is contained in:
parent
af6af35228
commit
0896038ba7
28 changed files with 311 additions and 180 deletions
|
@ -10,6 +10,18 @@ it makes sense to do that? And for that matter, can it be done efficiently
|
|||
enough to do it more frequently? After every file or after some number of
|
||||
files, or after processing all files in a (sub-)tree?
|
||||
|
||||
> Since the answer to that will change over time, let's make a config for
|
||||
> it. annex.adjustedbranchrefresh
|
||||
>
|
||||
> The config can start out as a range from 0 up that indicates how
|
||||
> infrequently to update the branch for this. With 0 being never refresh,
|
||||
> 1 being refresh the minimum (once at shutdown), 2 being refresh after
|
||||
> 1 file, 100 after every 99 files, etc.
|
||||
> If refreshing gets twice as fast, divide the numbers by two, etc.
|
||||
> If it becomes sufficiently fast that the overhead doesn't matter,
|
||||
> it can change to a simple boolean. Since 0 is false and > 0 is true,
|
||||
> in git config, the old values will still work. (done)
|
||||
|
||||
Investigation of the obvious things that make it slow follows:
|
||||
|
||||
## efficient branch adjustment
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue