git-annex/Command
Joey Hess 8af6d2c3c5
fix encryption of content to gcrypt and git-lfs
Fix serious regression in gcrypt and encrypted git-lfs remotes.
Since version 7.20200202.7, git-annex incorrectly stored content
on those remotes without encrypting it.

Problem was, Remote.Git enumerates all git remotes, including git-lfs
and gcrypt. It then dispatches to those. So, Remote.List used the
RemoteConfigParser from Remote.Git, instead of from git-lfs or gcrypt,
and that parser does not know about encryption fields, so did not
include them in the ParsedRemoteConfig. (Also didn't include other
fields specific to those remotes, perhaps chunking etc also didn't
get through.)

To fix, had to move RemoteConfig parsing down into the generate methods
of each remote, rather than doing it in Remote.List.

And a consequence of that was that ParsedRemoteConfig had to change to
include the RemoteConfig that got parsed, so that testremote can
generate a new remote based on an existing remote.

(I would have rather fixed this just inside Remote.Git, but that was not
practical, at least not w/o re-doing work that Remote.List already did.
Big ugly mostly mechanical patch seemed preferable to making git-annex
slower.)
2020-02-26 18:05:36 -04:00
..
Add.hs add --force-annex/--force-git 2020-01-01 14:03:06 -04:00
AddUnused.hs more RawFilePath 2019-12-18 17:10:28 -04:00
AddUrl.hs support git remotes that need http basic auth 2020-01-22 16:16:19 -04:00
Adjust.hs adjust --lock: This enters an adjusted branch where files are locked. 2019-09-27 14:23:25 -04:00
Assistant.hs remotedaemon: Don't list --stop in help since it's not supported. 2019-09-30 14:40:46 -04:00
Benchmark.hs improve benchmark --databases 2019-11-21 17:25:20 -04:00
CalcKey.hs plumb MeterUpdate into getKey 2019-06-25 11:43:24 -04:00
CheckPresentKey.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Commit.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Config.hs git-annex-config --set/--unset: No longer change the local git config setting 2019-12-20 13:17:28 -04:00
ConfigList.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
ContentLocation.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Copy.hs get the most commonly used commands building again 2019-12-04 13:45:18 -04:00
Dead.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Describe.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
DiffDriver.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Direct.hs Automatically convert direct mode repositories to v7 with adjusted unlocked branches 2019-08-26 15:05:25 -04:00
Drop.hs get the most commonly used commands building again 2019-12-04 13:45:18 -04:00
DropKey.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
DropUnused.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
EnableRemote.hs initremote --describe-other-params 2020-01-20 16:05:51 -04:00
EnableTor.hs remove recently added and unncessary cwd parameter 2019-10-21 13:48:52 -04:00
ExamineKey.hs get many more commands building again 2019-12-05 11:40:10 -04:00
Expire.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Export.hs support sha256 git repos 2020-01-07 12:22:19 -04:00
Find.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
FindRef.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Fix.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Forget.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
FromKey.hs get many more commands building again 2019-12-05 11:40:10 -04:00
Fsck.hs fsck --from remote -J concurrency bug 2020-02-14 14:52:15 -04:00
FuzzTest.hs annex.addunlocked expressions 2019-12-20 15:56:25 -04:00
GCryptSetup.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Get.hs get the most commonly used commands building again 2019-12-04 13:45:18 -04:00
Group.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
GroupWanted.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
Help.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Import.hs annex.addunlocked expressions 2019-12-20 15:56:25 -04:00
ImportFeed.hs annex.addunlocked expressions 2019-12-20 15:56:25 -04:00
InAnnex.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Indirect.hs Automatically convert direct mode repositories to v7 with adjusted unlocked branches 2019-08-26 15:05:25 -04:00
Info.hs more RawFilePath 2019-12-18 17:10:28 -04:00
Init.hs have init --version fail when repo is already initialized with other version 2019-08-08 14:13:02 -04:00
InitRemote.hs --whatelse is a better name than --describe-other-params 2020-01-20 17:04:45 -04:00
Inprogress.hs Merge branch 'master' into bs 2019-12-18 15:13:30 -04:00
List.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
Lock.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
LockContent.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Log.hs annex.tune.branchhash1=true bugfix 2020-02-14 15:22:48 -04:00
LookupKey.hs get many more commands building again 2019-12-05 11:40:10 -04:00
Map.hs more RawFilePath 2019-12-18 17:10:28 -04:00
MatchExpression.hs annex.addunlocked expressions 2019-12-20 15:56:25 -04:00
Merge.hs sync --only-annex and annex.synconlyannex 2020-02-17 16:33:10 -04:00
MetaData.hs get many more commands building again 2019-12-05 11:40:10 -04:00
Migrate.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Mirror.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
Move.hs get the most commonly used commands building again 2019-12-04 13:45:18 -04:00
Multicast.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
NotifyChanges.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
NumCopies.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
P2P.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
P2PStdIO.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
PostReceive.hs sync --only-annex and annex.synconlyannex 2020-02-17 16:33:10 -04:00
PreCommit.hs get many more commands building again 2019-12-05 11:40:10 -04:00
Proxy.hs Automatically convert direct mode repositories to v7 with adjusted unlocked branches 2019-08-26 15:05:25 -04:00
ReadPresentKey.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
RecvKey.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
RegisterUrl.hs cache the serialization of a Key 2019-11-22 17:49:16 -04:00
Reinit.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Reinject.hs reinject --known: Fix bug that prevented it from working in a bare repo. 2020-01-06 14:22:22 -04:00
ReKey.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
RemoteDaemon.hs remotedaemon: Don't list --stop in help since it's not supported. 2019-09-30 14:40:46 -04:00
RenameRemote.hs be stricter about rejecting invalid configurations for remotes 2020-01-10 14:52:48 -04:00
Repair.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Required.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
ResolveMerge.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
RmUrl.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
Schedule.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
Semitrust.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
SendKey.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
SetKey.hs cache the serialization of a Key 2019-11-22 17:49:16 -04:00
SetPresentKey.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Smudge.hs fix a case where file tracked by git unexpectedly becomes annex pointer file 2019-12-27 15:08:03 -04:00
Status.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
Sync.hs remove mention of receive.denyNonFastforwards on push failure 2020-02-19 11:46:24 -04:00
Test.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
TestRemote.hs fix encryption of content to gcrypt and git-lfs 2020-02-26 18:05:36 -04:00
TransferInfo.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
TransferKey.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
TransferKeys.hs get many more commands building again 2019-12-05 11:40:10 -04:00
Trust.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Unannex.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Undo.hs support sha256 git repos 2020-01-07 12:22:19 -04:00
Ungroup.hs make CommandStart return a StartMessage 2019-06-06 17:13:54 -04:00
Uninit.hs more RawFilePath 2019-12-18 17:10:28 -04:00
Unlock.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
Untrust.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Unused.hs support sha256 git repos 2020-01-07 12:22:19 -04:00
Upgrade.hs Added annex.autoupgraderepository configuration 2019-09-01 13:42:26 -04:00
VAdd.hs remove most remnants of direct mode 2019-08-26 16:27:48 -04:00
VCycle.hs remove most remnants of direct mode 2019-08-26 16:27:48 -04:00
Version.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
VFilter.hs remove most remnants of direct mode 2019-08-26 16:27:48 -04:00
Vicfg.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
View.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
VPop.hs remove most remnants of direct mode 2019-08-26 16:27:48 -04:00
Wanted.hs finish CommandStart transition 2019-06-12 13:24:01 -04:00
Watch.hs remotedaemon: Don't list --stop in help since it's not supported. 2019-09-30 14:40:46 -04:00
WebApp.hs everything is building again 2019-12-05 15:10:23 -04:00
Whereis.hs get the most commonly used commands building again 2019-12-04 13:45:18 -04:00