git-annex/doc/design
Joey Hess 99cb3e75f1
add LISTCONFIGS to external special remote protocol
Special remote programs that use GETCONFIG/SETCONFIG are recommended
to implement it.

The description is not yet used, but will be useful later when adding a way
to make initremote list all accepted configs.

configParser now takes a RemoteConfig parameter. Normally, that's not
needed, because configParser returns a parter, it does not parse it
itself. But, it's needed to look at externaltype and work out what
external remote program to run for LISTCONFIGS.

Note that, while externalUUID is changed to a Maybe UUID, checkExportSupported
used to use NoUUID. The code that now checks for Nothing used to behave
in some undefined way if the external program made requests that
triggered it.

Also, note that in externalSetup, once it generates external,
it parses the RemoteConfig strictly. That generates a
ParsedRemoteConfig, which is thrown away. The reason it's ok to throw
that away, is that, if the strict parse succeeded, the result must be
the same as the earlier, lenient parse.

initremote of an external special remote now runs the program three
times. First for LISTCONFIGS, then EXPORTSUPPORTED, and again
LISTCONFIGS+INITREMOTE. It would not be hard to eliminate at least
one of those, and it should be possible to only run the program once.
2020-01-17 16:07:17 -04:00
..
adjusted_branches Added a comment: adjusted branche to "focus" on a specific subtree 2016-08-22 14:19:57 +00:00
assistant Added a comment: Commits could be rate-limited too 2019-09-29 23:03:47 +00:00
encryption
exporting_trees_to_special_remotes Added a comment 2018-02-07 20:01:53 +00:00
external_special_remote_protocol some improvements to docs 2019-11-11 12:52:45 -04:00
git-remote-daemon Added a comment: Rolling hash chunking 2014-04-04 14:16:25 +00:00
iabackup Added a comment: 14 of 21PB, actually 2015-04-30 02:58:05 +00:00
metadata followup 2015-04-09 14:33:11 -04:00
new_repo_versions devblog 2016-05-04 14:39:53 -04:00
p2p_protocol comment 2019-04-03 13:11:34 -04:00
requests_routing Added a comment: Friendly bump to keep on the radar 2019-10-24 09:26:23 +00:00
adjusted_branches.mdwn link to the adjust manpage 2016-06-23 14:39:49 +00:00
assistant.mdwn clarify that this is mostly done (i think?) 2014-04-07 04:41:56 +00:00
balanced_preferred_content.mdwn Fix a typo 2016-02-08 10:54:08 -04:00
caching_database.mdwn correct spelling mistakes 2017-02-12 17:30:23 -04:00
encryption.mdwn clean up 2015-12-11 11:03:22 -04:00
exporting_trees_to_special_remotes.mdwn add design document for import tree 2019-02-20 12:12:32 -04:00
external_special_remote_protocol.mdwn add LISTCONFIGS to external special remote protocol 2020-01-17 16:07:17 -04:00
gcrypt.mdwn automatically derive an annex-uuid from a gcrypt-uuids 2013-09-05 16:02:39 -04:00
git-remote-daemon.mdwn update 2015-01-15 15:58:56 -04:00
iabackup.mdwn Fix spelling in doc/design/iabackup.mdwn 2018-06-03 12:28:26 +00:00
importing_trees_from_special_remotes.mdwn improve docs about removeExportDirectory 2019-05-28 11:16:01 -04:00
metadata.mdwn update for v6 unlocked files 2015-12-26 14:59:06 -04:00
new_repo_versions.mdwn comment 2016-04-20 14:24:26 -04:00
p2p_protocol.mdwn Fixed some other potential hangs in the P2P protocol 2018-11-06 14:52:32 -04:00
preferred_content.mdwn preferred content stability analysis 2014-01-22 15:55:44 -04:00
requests_routing.mdwn keep track of satisfied requests, and summarize 2014-05-09 16:41:05 -03:00
roadmap.mdwn update 2019-09-18 12:16:33 -04:00