git-annex/Annex
Joey Hess 71f78fe45d
wip separate RemoteConfig parsing
Remote now contains a ParsedRemoteConfig. The parsing happens when the
Remote is constructed, rather than when individual configs are used.

This is more efficient, and it lets initremote/enableremote
reject configs that have unknown fields or unparsable values.

It also allows for improved type safety, as shown in
Remote.Helper.Encryptable where things that used to match on string
configs now match on data types.

This is a work in progress, it does not build yet.

The main risk in this conversion is forgetting to add a field to
RemoteConfigParser. That will prevent using that field with
initremote/enableremote, and will prevent remotes that already are set
up from seeing that configuration. So will need to check carefully that
every field that getRemoteConfigValue is called on has been added to
RemoteConfigParser.

(One such case I need to remember is that credPairRemoteField needs to be
included in the RemoteConfigParser.)
2020-01-13 12:39:21 -04:00
..
AdjustedBranch fix a typo that didn't matter so far 2019-09-27 14:08:16 -04:00
Branch be stricter about rejecting invalid configurations for remotes 2020-01-10 14:52:48 -04:00
Content avoid build warning on windows 2020-01-01 14:40:35 -04:00
LockPool update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
MetaData update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
SpecialRemote wip separate RemoteConfig parsing 2020-01-13 12:39:21 -04:00
View update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Action.hs make WorkerStage an open type 2019-06-19 13:05:03 -04:00
AdjustedBranch.hs support sha256 git repos 2020-01-07 12:22:19 -04:00
AutoMerge.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
BloomFilter.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Branch.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
BranchState.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CatFile.hs fix a case where file tracked by git unexpectedly becomes annex pointer file 2019-12-27 15:08:03 -04:00
ChangedRefs.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
CheckAttr.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CheckIgnore.hs Removed support for git versions older than 2.1 2019-09-11 16:14:43 -04:00
Common.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Concurrent.hs Fix a crash (STM deadlock) when -J is used with multiple files that point to the same key 2019-11-14 13:51:09 -04:00
Content.hs more RawFilePath 2019-12-18 17:10:28 -04:00
CurrentBranch.hs refactor getCurrentBranch 2018-10-19 17:29:18 -04:00
Difference.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
DirHashes.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Drop.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
Environment.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
Export.hs cache the serialization of a Key 2019-11-22 17:49:16 -04:00
FileMatcher.hs be stricter about rejecting invalid configurations for remotes 2020-01-10 14:52:48 -04:00
Fixup.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
GitOverlay.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
HashObject.hs fix a case where file tracked by git unexpectedly becomes annex pointer file 2019-12-27 15:08:03 -04:00
Hook.hs update uninit to handle all the v7 stuff 2019-10-08 14:34:00 -04:00
Import.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
Ingest.hs annex.addunlocked expressions 2019-12-20 15:56:25 -04:00
Init.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
InodeSentinal.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Journal.hs fix fileJournal 2019-12-18 11:29:34 -04:00
Link.hs more RawFilePath 2019-12-18 17:10:28 -04:00
Locations.hs more RawFilePath 2019-12-18 17:10:28 -04:00
LockFile.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
LockPool.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Magic.hs Added --mimetype and --mimeencoding file matching options. 2019-09-19 12:09:59 -04:00
MetaData.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
Multicast.hs remove many old version ifdefs 2019-07-05 15:09:37 -04:00
Notification.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
NumCopies.hs wip RawFilePath 2x git-annex find speedup 2019-11-26 16:01:58 -04:00
Path.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Perms.hs more RawFilePath 2019-12-18 17:10:28 -04:00
Queue.hs remove one more warningIO 2019-11-12 10:45:52 -04:00
RemoteTrackingBranch.hs refactor 2019-11-11 19:10:52 -04:00
ReplaceFile.hs avoid build warning on Windows about unused import 2019-05-23 12:15:33 -04:00
SpecialRemote.hs be stricter about rejecting invalid configurations for remotes 2020-01-10 14:52:48 -04:00
Ssh.hs fix ByteString conversion on windows 2019-12-18 13:32:56 -04:00
TaggedPush.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Tmp.hs init: Fix a reversion that broke initialization on systems that need to use pid locking 2019-09-10 13:37:07 -04:00
Transfer.hs cache the serialization of a Key 2019-11-22 17:49:16 -04:00
UpdateInstead.hs v7 for all repositories 2019-08-30 14:09:14 -04:00
Url.hs make --json-error-messages capture url download errors 2019-11-12 13:52:38 -04:00
UUID.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
VariantFile.hs more RawFilePath 2019-12-18 17:10:28 -04:00
VectorClock.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Version.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
View.hs support sha256 git repos 2020-01-07 12:22:19 -04:00
Wanted.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
WorkTree.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
YoutubeDl.hs make --json-error-messages capture url download errors 2019-11-12 13:52:38 -04:00