bb18bbd426
tryGitConfigRead may run ensureInitialized first, but when checkuuid = false, that is skipped. So, make sure it's run before all onLocal actions. ensureInitialized is inexpensive, so the extra call by tryGitConfigRead is not a big deal. But since it was easy to do, I made it only be run once by all calls to onLocal. A few calls to onLocal didn't call ensureInitialized before. Notably, the checkPresent action didn't, and does now. That means that there's a guarantee that any necessary repo upgrades will be run before the checkPresent action runs in the repo. Which is important especially for the direct mode conversion, because without that upgrade, the checkPresent action would need to support direct mode still. Now I can remove the last bits of direct mode support in Annex.Content without worrying that it will break accessing remotes that have not been upgraded. This does necessarily mean that checkPresent needs to write to the disk when performing such a repo upgrade. The other remote actions already did, so retrieval from a readonly remote that needed to be upgraded would fail. Having checkPresent also fail doesn't seem like a large reversion, especially since it already failed in the default case when checkuuid = true. |
||
---|---|---|
.. | ||
Directory | ||
External | ||
Helper | ||
Rsync | ||
WebDAV | ||
Adb.hs | ||
BitTorrent.hs | ||
Bup.hs | ||
Ddar.hs | ||
Directory.hs | ||
External.hs | ||
GCrypt.hs | ||
Git.hs | ||
GitLFS.hs | ||
Glacier.hs | ||
Hook.hs | ||
List.hs | ||
P2P.hs | ||
Rsync.hs | ||
S3.hs | ||
Tahoe.hs | ||
Web.hs | ||
WebDAV.hs |