Added DIRHASH_LOWER to external special remote protocol.

This commit is contained in:
Joey Hess 2016-05-03 13:36:59 -04:00
parent 9b73c85952
commit 4b9ddb9429
Failed to extract signature
5 changed files with 25 additions and 1 deletions

View file

@ -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

View file

@ -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

1
debian/changelog vendored
View file

@ -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 <id@joeyh.name> Thu, 28 Apr 2016 13:17:04 -0400

View file

@ -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.

View file

@ -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`.
"""]]