git-annex/Command
Joey Hess 2def1d0a23 other 80% of avoding verification when hard linking to objects in shared repo
In c6632ee5c8, it actually only handled
uploading objects to a shared repository. To avoid verification when
downloading objects from a shared repository, was a lot harder.

On the plus side, if the process of downloading a file from a remote
is able to verify its content on the side, the remote can indicate this
now, and avoid the extra post-download verification.

As of yet, I don't have any remotes (except Git) using this ability.
Some more work would be needed to support it in special remotes.

It would make sense for tahoe to implicitly verify things downloaded from it;
as long as you trust your tahoe server (which typically runs locally),
there's cryptographic integrity. OTOH, despite bup being based on shas,
a bup repo under an attacker's control could have the git ref used for an
object changed, and so a bup repo shouldn't implicitly verify. Indeed,
tahoe seems unique in being trustworthy enough to implicitly verify.
2015-10-02 14:35:12 -04:00
..
Add.hs finished converting all the main options 2015-07-10 13:23:06 -04:00
AddUnused.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
AddUrl.hs other 80% of avoding verification when hard linking to objects in shared repo 2015-10-02 14:35:12 -04:00
Assistant.hs converted Assistant and Watch; avoid duplicate arg parsing for no repo mode 2015-07-13 11:42:42 -04:00
CheckPresentKey.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Commit.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
ConfigList.hs git-annex-shell: Don't let configlist auto-init repository when in readonly mode. 2015-08-05 14:09:25 -04:00
ContentLocation.hs converted ContentLocation, ExampleKey, LookupKey 2015-07-11 20:43:45 -04:00
Copy.hs The last release accidentially removed a number of options from the copy command. (-J, file matching options, etc). These have been added back. 2015-07-30 13:33:35 -04:00
Dead.hs convert Dead, and allow multiple --key options 2015-07-13 10:26:54 -04:00
Describe.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
DiffDriver.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Direct.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Drop.hs Improve bash completion, so it completes names of remotes and backends in appropriate places. 2015-09-14 13:19:04 -04:00
DropKey.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
DropUnused.hs convert DropUnused 2015-07-10 16:15:31 -04:00
EnableRemote.hs Special remotes configured with autoenable=true will be automatically enabled when git-annex init is run. 2015-09-14 14:49:48 -04:00
ExamineKey.hs converted ContentLocation, ExampleKey, LookupKey 2015-07-11 20:43:45 -04:00
Expire.hs convert Expire 2015-07-10 16:26:23 -04:00
Find.hs convert FindRef 2015-07-10 20:38:11 -04:00
FindRef.hs convert FindRef 2015-07-10 20:38:11 -04:00
Fix.hs finished converting all the main options 2015-07-10 13:23:06 -04:00
Forget.hs converted Forget and TestRemote 2015-07-11 00:42:32 -04:00
FromKey.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Fsck.hs other 80% of avoding verification when hard linking to objects in shared repo 2015-10-02 14:35:12 -04:00
FuzzTest.hs wip 2015-07-09 16:05:45 -04:00
GCryptSetup.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Get.hs Do verification of checksums of annex objects downloaded from remotes. 2015-10-01 15:56:39 -04:00
Group.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
GroupWanted.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Help.hs let optparse-applicative handle the usage display when run w/o command or bad command 2015-07-09 11:52:47 -04:00
Import.hs convert Import 2015-07-13 11:15:21 -04:00
ImportFeed.hs ImportFeed: fix signature of mkquvi without libquvi 2015-08-23 15:32:10 -07:00
InAnnex.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Indirect.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Info.hs info: Don't allow use in a non-git-annex repository, since it uses the git-annex branch and would create it if it were missing. 2015-09-16 12:25:43 -04:00
Init.hs Special remotes configured with autoenable=true will be automatically enabled when git-annex init is run. 2015-09-14 14:49:48 -04:00
InitRemote.hs Special remotes configured with autoenable=true will be automatically enabled when git-annex init is run. 2015-09-14 14:49:48 -04:00
List.hs convert List 2015-07-10 20:46:48 -04:00
Lock.hs finished converting all the main options 2015-07-10 13:23:06 -04:00
Log.hs converted Log 2015-07-13 10:44:51 -04:00
LookupKey.hs converted ContentLocation, ExampleKey, LookupKey 2015-07-11 20:43:45 -04:00
Map.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Merge.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
MetaData.hs metadata: Fix reversion introduced in 5.20150727 that caused display of metadata to not work. 2015-08-11 13:19:01 -04:00
Migrate.hs finished converting all the main options 2015-07-10 13:23:06 -04:00
Mirror.hs converted Mirror 2015-07-10 21:05:34 -04:00
Move.hs Do verification of checksums of annex objects downloaded from remotes. 2015-10-01 15:56:39 -04:00
NotifyChanges.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
NumCopies.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
PreCommit.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Proxy.hs unused import 2015-08-05 13:25:03 -04:00
ReadPresentKey.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
RecvKey.hs other 80% of avoding verification when hard linking to objects in shared repo 2015-10-02 14:35:12 -04:00
RegisterUrl.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Reinit.hs Special remotes configured with autoenable=true will be automatically enabled when git-annex init is run. 2015-09-14 14:49:48 -04:00
Reinject.hs other 80% of avoding verification when hard linking to objects in shared repo 2015-10-02 14:35:12 -04:00
ReKey.hs other 80% of avoding verification when hard linking to objects in shared repo 2015-10-02 14:35:12 -04:00
RemoteDaemon.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Repair.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Required.hs started converting to use optparse-applicative 2015-07-08 13:36:25 -04:00
ResolveMerge.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
RmUrl.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Schedule.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Semitrust.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
SendKey.hs add some debugs to get timings 2015-08-13 16:13:16 -04:00
SetKey.hs other 80% of avoding verification when hard linking to objects in shared repo 2015-10-02 14:35:12 -04:00
SetPresentKey.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Status.hs status: Show added but not yet committed files. 2015-09-22 17:32:28 -04:00
Sync.hs Do verification of checksums of annex objects downloaded from remotes. 2015-10-01 15:56:39 -04:00
Test.hs wire tasty's option parser into the main program option parser 2015-07-13 13:20:10 -04:00
TestRemote.hs other 80% of avoding verification when hard linking to objects in shared repo 2015-10-02 14:35:12 -04:00
TransferInfo.hs converted copy and move 2015-07-09 15:23:14 -04:00
TransferKey.hs Do verification of checksums of annex objects downloaded from remotes. 2015-10-01 15:56:39 -04:00
TransferKeys.hs Do verification of checksums of annex objects downloaded from remotes. 2015-10-01 15:56:39 -04:00
Trust.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Unannex.hs finished converting all the main options 2015-07-10 13:23:06 -04:00
Undo.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Ungroup.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Uninit.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Unlock.hs finished converting all the main options 2015-07-10 13:23:06 -04:00
Untrust.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Unused.hs Command/Unused.hs: Change --unused-refspec back to --used-refspec 2015-09-09 14:31:21 -04:00
Upgrade.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
VAdd.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
VCycle.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Version.hs convert version command, and make --raw work when not in a git repo 2015-07-10 13:49:46 -04:00
VFilter.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Vicfg.hs converted ViCfg (trivially) 2015-07-10 20:40:30 -04:00
View.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
VPop.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Wanted.hs convert all commands to work with optparse-applicative 2015-07-08 15:08:02 -04:00
Watch.hs converted Assistant and Watch; avoid duplicate arg parsing for no repo mode 2015-07-13 11:42:42 -04:00
WebApp.hs convert WebApp; avoid duplicate arg parsing for no repo mode 2015-07-13 11:53:42 -04:00
Whereis.hs make whereis show urls when web remote does not have content 2015-08-17 11:35:34 -04:00
XMPPGit.hs converted Assistant and Watch; avoid duplicate arg parsing for no repo mode 2015-07-13 11:42:42 -04:00