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 ("", "") <$> creds <- fromMaybe ("", "") <$>
getRemoteCredPair c (credstorage setting) getRemoteCredPair c (credstorage setting)
sendMessage lck external $ CREDS (fst creds) (snd creds) sendMessage lck external $ CREDS (fst creds) (snd creds)
handleRemoteRequest GETUUID = sendMessage lck external $
VALUE $ fromUUID $ externalUUID external
handleRemoteRequest (VERSION _) = handleRemoteRequest (VERSION _) =
sendMessage lck external $ ERROR "too late to send VERSION" sendMessage lck external $ ERROR "too late to send VERSION"

View file

@ -166,6 +166,7 @@ data RemoteRequest
| GETCONFIG Setting | GETCONFIG Setting
| SETCREDS Setting String String | SETCREDS Setting String String
| GETCREDS Setting | GETCREDS Setting
| GETUUID
deriving (Show) deriving (Show)
instance Receivable RemoteRequest where instance Receivable RemoteRequest where
@ -176,6 +177,7 @@ instance Receivable RemoteRequest where
parseCommand "GETCONFIG" = parse1 GETCONFIG parseCommand "GETCONFIG" = parse1 GETCONFIG
parseCommand "SETCREDS" = parse3 SETCREDS parseCommand "SETCREDS" = parse3 SETCREDS
parseCommand "GETCREDS" = parse1 GETCREDS parseCommand "GETCREDS" = parse1 GETCREDS
parseCommand "GETUUID" = parse0 GETUUID
parseCommand _ = parseFail parseCommand _ = parseFail
-- Responses to RemoteRequest. -- 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 git-annex (5.20131230) unstable; urgency=medium
* Added new external special remote interface. * Added new external special remote interface.

View file

@ -209,6 +209,9 @@ in control.
or a file. or a file.
(git-annex replies with "CREDS User Password". If no creds are found, (git-annex replies with "CREDS User Password". If no creds are found,
User and Password are both empty.) 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 ## general messages
@ -232,8 +235,6 @@ remote.
the remote. However, \n and probably \0 need to be escaped somehow in the the remote. However, \n and probably \0 need to be escaped somehow in the
file data, which adds complication. file data, which adds complication.
* uuid discovery during INITREMOTE. * 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 splitting files into chunks.
* Support for getting and setting the list of urls that can be associated * Support for getting and setting the list of urls that can be associated
with a key. with a key.