git-annex/Types
Joey Hess 0f566ed242
removal of the rest of remoteGitConfig
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.
2018-06-05 14:48:37 -04:00
..
ActionItem.hs better dup key with -J fix 2017-10-17 18:48:53 -04:00
Availability.hs
Backend.hs add KeyVariety type 2017-02-24 15:16:56 -04:00
BranchState.hs
CleanupActions.hs
Command.hs
Concurrency.hs
Creds.hs Added git-remote-tor-annex, which allows git pull and push to the tor hidden service. 2016-11-21 17:27:38 -04:00
Crypto.hs
DeferredParse.hs
DesktopNotify.hs Fix build with ghc 8.4+, which broke due to the Semigroup Monoid change 2018-05-30 12:28:43 -04:00
Difference.hs Fix build with ghc 8.4+, which broke due to the Semigroup Monoid change 2018-05-30 12:28:43 -04:00
Distribution.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Export.hs add ExportTree table to export db 2017-09-18 13:59:59 -04:00
FileMatcher.hs
GitConfig.hs removal of the rest of remoteGitConfig 2018-06-05 14:48:37 -04:00
Group.hs
Key.hs fix build with cryptonite-0.20 2018-03-15 11:16:00 -04:00
KeySource.hs
LockCache.hs
Messages.hs Fix mangling of --json output of utf-8 characters when not running in a utf-8 locale 2018-04-16 16:21:21 -04:00
MetaData.hs avoid insertWith' depreaction warning 2018-04-22 13:28:31 -04:00
NumCopies.hs
RefSpec.hs Some optimisations to string splitting code. 2017-01-31 19:06:22 -04:00
Remote.hs change Remote.repo to Remote.getRepo 2018-06-04 15:30:26 -04:00
ScheduledActivity.hs
StandardGroups.hs
StoreRetrieve.hs
Test.hs Fix build with ghc 8.4+, which broke due to the Semigroup Monoid change 2018-05-30 12:28:43 -04:00
Transfer.hs reorg 2017-12-14 11:26:59 -04:00
TrustLevel.hs finish fixing inverted Ord for TrustLevel 2018-04-13 15:17:54 -04:00
UrlContents.hs
UUID.hs implementation of peer-to-peer protocol 2016-11-17 18:30:50 -04:00
View.hs