diff options
author | Joey Hess <joeyh@joeyh.name> | 2017-08-28 15:34:26 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2017-08-28 15:34:26 -0400 |
commit | 572cf8e2de24b9d04c1e6b5c24c36adc6371644a (patch) | |
tree | 09bc06a7888c6cf63e9a72ace32deb1cf12512c9 | |
parent | 25f6aa822c7a919417b58f7b4f2e271854340bdf (diff) |
update proposed external special remote protocol
3 files changed, 43 insertions, 11 deletions
diff --git a/doc/design/exporting_trees_to_special_remotes.mdwn b/doc/design/exporting_trees_to_special_remotes.mdwn index 8d158e33e..ac8da297c 100644 --- a/doc/design/exporting_trees_to_special_remotes.mdwn +++ b/doc/design/exporting_trees_to_special_remotes.mdwn @@ -108,28 +108,36 @@ would be overkill if it's only used to support resuming partial uploads. This needs some additional methods added to special remotes, and to the [[external_special_remote_protocol]]. -* `TRANSFEREXPORT STORE|RETRIEVE Key File Name` - Requests the transfer of a File on local disk to or from a given - Name on the special remote. - The Name will be in the form of a relative path, and may contain - path separators, whitespace, and other special characters. +Here's the changes to the latter: + +* `EXPORT Name` + Comes immediately before each of the following requests, + specifying the name of the exported file. It will be in the form + of a relative path, and may contain path separators, whitespace, + and other special characters. +* `TRANSFEREXPORT STORE|RETRIEVE Key File` + Requests the transfer of a File on local disk to or from the previously + provided Name on the special remote. The Key is provided in case the special remote wants to use eg `SETURIPRESENT`. The remote responds with either `TRANSFER-SUCCESS` or `TRANSFER-FAILURE`, and a remote where exports do not make sense may always fail. -* `CHECKPRESENTEXPORT Key Name` - Requests the remote to check if a Name is present in it. +* `CHECKPRESENTEXPORT Key` + Requests the remote to check if the previously provided Name is present + in it. The remote responds with `CHECKPRESENT-SUCCESS`, `CHECKPRESENT-FAILURE`, or `CHECKPRESENT-UNKNOWN`. -* `REMOVEEXPORT Key Name` - Requests the remote to remove content stored by `TRANSFEREXPORT`. +* `REMOVEEXPORT Key` + Requests the remote to remove content stored by `TRANSFEREXPORT` + with the previously provided Name. The Key is provided in case the remote wants to use eg `SETURIMISSING`. The remote responds with either `REMOVE-SUCCESS` or `REMOVE-FAILURE`. -* `RENAMEEXPORT Key OldName NewName` - Requests the remote rename a file stored on it from OldName to NewName. +* `RENAMEEXPORT Key NewName` + Requests the remote rename a file stored on it from the previously + provided Name to the NewName. The Key is provided in case the remote wants to use eg `SETURIMISSING` and `SETURIPRESENT`. The remote responds with `RENAMEEXPORT-SUCCESS`, diff --git a/doc/design/exporting_trees_to_special_remotes/comment_15_3fc518cee1a11b28da769c0915d33e3b._comment b/doc/design/exporting_trees_to_special_remotes/comment_15_3fc518cee1a11b28da769c0915d33e3b._comment new file mode 100644 index 000000000..f0de4d49a --- /dev/null +++ b/doc/design/exporting_trees_to_special_remotes/comment_15_3fc518cee1a11b28da769c0915d33e3b._comment @@ -0,0 +1,13 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 15""" + date="2017-08-28T19:00:10Z" + content=""" +Since [[bugs/external_special_remote_protocol_broken_by_key_with_spaces]] +was fixed, the Key can't contain spaces any longer. + +The File could still contain spaces, eg when exporting from a direct mode +repository where the worktree filename contains spaces. + +In `RENAMEEXPORT`, both OldName and NewName could contain spaces. +"""]] diff --git a/doc/design/exporting_trees_to_special_remotes/comment_16_29f598eda413c0d5e17536d8f9438d31._comment b/doc/design/exporting_trees_to_special_remotes/comment_16_29f598eda413c0d5e17536d8f9438d31._comment new file mode 100644 index 000000000..98a9f93f0 --- /dev/null +++ b/doc/design/exporting_trees_to_special_remotes/comment_16_29f598eda413c0d5e17536d8f9438d31._comment @@ -0,0 +1,11 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 16""" + date="2017-08-28T19:32:06Z" + content=""" +I've updated the proposed external special remote protocol to avoid the +whitespace concerns. Not wild about needing a separate EXPORT request, +which will probably get shoved into a global variable in most +implementations. But it does avoid needing to use some kind of encoding, +which would complicate implementations more, I feel. +"""]] |