From 4b9ddb94299b4c8cd5fbd50f1d478c29f19bbc32 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 3 May 2016 13:36:59 -0400 Subject: [PATCH] Added DIRHASH_LOWER to external special remote protocol. --- Remote/External.hs | 2 ++ Remote/External/Types.hs | 2 ++ debian/changelog | 1 + doc/design/external_special_remote_protocol.mdwn | 10 +++++++++- ...mment_26_4f8addd76a1e64d05a34910d4719a40c._comment | 11 +++++++++++ 5 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 doc/design/external_special_remote_protocol/comment_26_4f8addd76a1e64d05a34910d4719a40c._comment diff --git a/Remote/External.hs b/Remote/External.hs index 20fd4e52cc..69c47a6e47 100644 --- a/Remote/External.hs +++ b/Remote/External.hs @@ -227,6 +227,8 @@ handleRequest' lck external req mp responsehandler maybe noop (\a -> liftIO $ a bytesprocessed) mp handleRemoteRequest (DIRHASH k) = send $ VALUE $ hashDirMixed def k + handleRemoteRequest (DIRHASH_LOWER k) = + send $ VALUE $ hashDirLower def k handleRemoteRequest (SETCONFIG setting value) = liftIO $ atomically $ do let v = externalConfig external diff --git a/Remote/External/Types.hs b/Remote/External/Types.hs index 80c785798a..9050d0a846 100644 --- a/Remote/External/Types.hs +++ b/Remote/External/Types.hs @@ -176,6 +176,7 @@ data RemoteRequest = VERSION ProtocolVersion | PROGRESS BytesProcessed | DIRHASH Key + | DIRHASH_LOWER Key | SETCONFIG Setting String | GETCONFIG Setting | SETCREDS Setting String String @@ -198,6 +199,7 @@ instance Proto.Receivable RemoteRequest where parseCommand "VERSION" = Proto.parse1 VERSION parseCommand "PROGRESS" = Proto.parse1 PROGRESS parseCommand "DIRHASH" = Proto.parse1 DIRHASH + parseCommand "DIRHASH_LOWER" = Proto.parse1 DIRHASH_LOWER parseCommand "SETCONFIG" = Proto.parse2 SETCONFIG parseCommand "GETCONFIG" = Proto.parse1 GETCONFIG parseCommand "SETCREDS" = Proto.parse3 SETCREDS diff --git a/debian/changelog b/debian/changelog index d85477903d..68de420af5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,7 @@ git-annex (6.20160420) UNRELEASED; urgency=medium again later. * Android: Icon refresh. Thanks, freewheelinfranks. + * Added DIRHASH_LOWER to external special remote protocol. -- Joey Hess Thu, 28 Apr 2016 13:17:04 -0400 diff --git a/doc/design/external_special_remote_protocol.mdwn b/doc/design/external_special_remote_protocol.mdwn index f9eca2af03..cbe8504ed9 100644 --- a/doc/design/external_special_remote_protocol.mdwn +++ b/doc/design/external_special_remote_protocol.mdwn @@ -230,7 +230,15 @@ in control. * `DIRHASH Key` Gets a two level hash associated with a Key. Something like "aB/Cd". This is always the same for any given Key, so can be used for eg, - creating hash directory structures to store Keys in. + creating hash directory structures to store Keys in. This is the same + directory hash that git-annex uses inside `.git/annex/objects/` + (git-annex replies with VALUE followed by the value.) +* `DIRHASH_LOWER Key` + Gets a two level hash associated with a Key, using only lower-case. + Something like "abc/def". + This is always the same for any given Key, so can be used for eg, + creating hash directory structures to store Keys in. This is the same + directory hash that is used by eg, the directory special remote. (git-annex replies with VALUE followed by the value.) * `SETCONFIG Setting Value` Sets one of the special remote's configuration settings. diff --git a/doc/design/external_special_remote_protocol/comment_26_4f8addd76a1e64d05a34910d4719a40c._comment b/doc/design/external_special_remote_protocol/comment_26_4f8addd76a1e64d05a34910d4719a40c._comment new file mode 100644 index 0000000000..790da04451 --- /dev/null +++ b/doc/design/external_special_remote_protocol/comment_26_4f8addd76a1e64d05a34910d4719a40c._comment @@ -0,0 +1,11 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 26""" + date="2016-05-03T17:29:02Z" + content=""" +I don't think there's any particularly good reason why DIRHASH uses the +mixed case format. However, it can't be changed without busting existing +stuff. + +So yeah, I've gone ahead and added a `DIRHASH_LOWER`. +"""]]