external special remote protocol: Added GETUUID.

This commit is contained in:
Joey Hess 2013-12-31 13:50:18 -04:00
parent 2cf1c879c9
commit ed1fcab6d7
4 changed files with 13 additions and 2 deletions

View file

@ -226,6 +226,8 @@ handleRequest' lck external req mp responsehandler
creds <- fromMaybe ("", "") <$>
getRemoteCredPair c (credstorage setting)
sendMessage lck external $ CREDS (fst creds) (snd creds)
handleRemoteRequest GETUUID = sendMessage lck external $
VALUE $ fromUUID $ externalUUID external
handleRemoteRequest (VERSION _) =
sendMessage lck external $ ERROR "too late to send VERSION"

View file

@ -166,6 +166,7 @@ data RemoteRequest
| GETCONFIG Setting
| SETCREDS Setting String String
| GETCREDS Setting
| GETUUID
deriving (Show)
instance Receivable RemoteRequest where
@ -176,6 +177,7 @@ instance Receivable RemoteRequest where
parseCommand "GETCONFIG" = parse1 GETCONFIG
parseCommand "SETCREDS" = parse3 SETCREDS
parseCommand "GETCREDS" = parse1 GETCREDS
parseCommand "GETUUID" = parse0 GETUUID
parseCommand _ = parseFail
-- Responses to RemoteRequest.

6
debian/changelog vendored
View file

@ -1,3 +1,9 @@
git-annex (5.20131231) UNRELEASED; urgency=medium
* external special remote protocol: Added GETUUID.
-- Joey Hess <joeyh@debian.org> Tue, 31 Dec 2013 13:41:18 -0400
git-annex (5.20131230) unstable; urgency=medium
* Added new external special remote interface.

View file

@ -209,6 +209,9 @@ in control.
or a file.
(git-annex replies with "CREDS User Password". If no creds are found,
User and Password are both empty.)
* `GETUUID`
Queries for the UUID of the special remote being used.
(git-annex replies with VALUE followed by the UUID.)
## general messages
@ -232,8 +235,6 @@ remote.
the remote. However, \n and probably \0 need to be escaped somehow in the
file data, which adds complication.
* uuid discovery during INITREMOTE.
* uuid verification during PREPARE (so, for example, it can check if a
removable drive repo has the expected uuid)
* Support for splitting files into chunks.
* Support for getting and setting the list of urls that can be associated
with a key.