implement annex.privateremote and remote.name.private configs
The slightly unusual parsing in Types.GitConfig avoids the need to look at the remote list to get configs of remotes. annexPrivateRepos combines all the configs, and will only be calculated once, so it's nice and fast. privateUUIDsKnown and regardingPrivateUUID now need to read from the annex mvar, so are not entirely free. But that overhead can be optimised away, as seen in getJournalFileStale. The other call sites didn't seem worth optimising to save a single MVar access. The feature should have impreceptable speed overhead when not being used.
This commit is contained in:
parent
0e830b6bb5
commit
32138b8cd8
5 changed files with 78 additions and 52 deletions
|
@ -157,19 +157,6 @@ later write.
|
|||
> Annex.Branch, also need to be fixed (and may be missing journal files
|
||||
> already?) Most fixed now. Command.Log behavior needs to be
|
||||
> investigated still.
|
||||
>
|
||||
> * Need to implement regardingPrivateUUID and privateUUIDsKnown,
|
||||
> which need to look at the git config to find the private uuids.
|
||||
>
|
||||
> But that involves a mvar access, so there will be some slow down,
|
||||
> although often it will be swamped by the actual branch querying.
|
||||
> So far it's been possible to avoid any slow down from this feature
|
||||
> when it's not in use.
|
||||
>
|
||||
> Encoding inside the uuid if a repo is private avoids slowdown of
|
||||
> regardingPrivateUUID, but not privateUUIDsKnown. (So branch queries
|
||||
> still slow down). It also avoids needing to set the config before
|
||||
> writing to the branch when setting up a private repo or special remote.
|
||||
|
||||
## networks of hidden repos
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue