aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Remote/External.hs2
-rw-r--r--Remote/External/Types.hs2
-rw-r--r--debian/changelog6
-rw-r--r--doc/design/external_special_remote_protocol.mdwn5
4 files changed, 13 insertions, 2 deletions
diff --git a/Remote/External.hs b/Remote/External.hs
index e444a729d..3a567d834 100644
--- a/Remote/External.hs
+++ b/Remote/External.hs
@@ -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"
diff --git a/Remote/External/Types.hs b/Remote/External/Types.hs
index 0525cdfee..40bd8d52e 100644
--- a/Remote/External/Types.hs
+++ b/Remote/External/Types.hs
@@ -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.
diff --git a/debian/changelog b/debian/changelog
index 4689f0559..b767d86b0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -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.
diff --git a/doc/design/external_special_remote_protocol.mdwn b/doc/design/external_special_remote_protocol.mdwn
index 550a0ff14..8214a48a8 100644
--- a/doc/design/external_special_remote_protocol.mdwn
+++ b/doc/design/external_special_remote_protocol.mdwn
@@ -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.