diff options
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | Messages/JSON.hs | 11 |
2 files changed, 8 insertions, 4 deletions
@@ -6,6 +6,7 @@ git-annex (6.20160908) UNRELEASED; urgency=medium over ssh etc. * Make --json and --quiet work when used with -J. Previously, -J override the other options. + * Remove key:null from git-annex add --json output. -- Joey Hess <id@joeyh.name> Thu, 08 Sep 2016 12:48:55 -0400 diff --git a/Messages/JSON.hs b/Messages/JSON.hs index 9f8f31c46..0cceda3f3 100644 --- a/Messages/JSON.hs +++ b/Messages/JSON.hs @@ -24,6 +24,7 @@ import qualified Data.Map as M import qualified Data.Text as T import qualified Data.ByteString.Lazy as B import System.IO +import Data.Maybe import Data.Monoid import Prelude @@ -84,10 +85,12 @@ data JSONActionItem a = JSONActionItem deriving (Show) instance ToJSON (JSONActionItem a) where - toJSON i = object - [ "command" .= itemCommand i - , "key" .= (toJSON (itemKey i)) - , "file" .= itemFile i + toJSON i = object $ catMaybes + [ Just $ "command" .= itemCommand i + , case itemKey i of + Nothing -> Nothing + Just k -> Just $ "key" .= toJSON k + , Just $ "file" .= itemFile i -- itemAdded is not included; must be added later by 'add' ] |