0f566ed242
In keyUrls, the GitConfig is used only by annexLocations to support configured Differences. Since such configurations affect all clones of a repository, the local repo's GitConfig must have the same information as the remote's GitConfig would have. So, used getGitConfig to get the local GitConfig, which is cached and so available cheaply. That actually fixed a bug noone had ever noticed: keyUrls is used for remotes accessed over http. The full git config of such a remote is normally not available, so the remoteGitConfig that keyUrls used would not have the necessary information in it. In copyFromRemoteCheap', it uses gitAnnexLocation, which does need the GitConfig of the remote repo itself in order to check if it's crippled, supports symlinks, etc. So, made the State include that GitConfig, cached. The use of gitAnnexLocation is within a (not $ Git.repoIsUrl repo) guard, so it's local, and so its git config will always be read and available. (Note that gitAnnexLocation in turn calls annexLocations, so the Differences config it uses in this case comes from the remote repo's GitConfig and not from the local repo's GitConfig. As explained above this is ok since they must have the same value.) Not very happy with this mess of different GitConfigs not type-safe and some read only sometimes etc. Very hairy. Think I got it this change right. Test suite passes.. This commit was sponsored by Ethan Aubin. |
||
---|---|---|
.. | ||
ActionItem.hs | ||
Availability.hs | ||
Backend.hs | ||
BranchState.hs | ||
CleanupActions.hs | ||
Command.hs | ||
Concurrency.hs | ||
Creds.hs | ||
Crypto.hs | ||
DeferredParse.hs | ||
DesktopNotify.hs | ||
Difference.hs | ||
Distribution.hs | ||
Export.hs | ||
FileMatcher.hs | ||
GitConfig.hs | ||
Group.hs | ||
Key.hs | ||
KeySource.hs | ||
LockCache.hs | ||
Messages.hs | ||
MetaData.hs | ||
NumCopies.hs | ||
RefSpec.hs | ||
Remote.hs | ||
ScheduledActivity.hs | ||
StandardGroups.hs | ||
StoreRetrieve.hs | ||
Test.hs | ||
Transfer.hs | ||
TrustLevel.hs | ||
UrlContents.hs | ||
UUID.hs | ||
View.hs |