registerurl,unregisterurl: rework output and support --json
* registerurl, unregisterurl: Improved output when reading from stdin to be more like other batch commands. * registerurl, unregisterurl: Added --json and --json-error-messages options. Note that this did change the --batch output in a way that could possibly break something that expected the old output to never change. I think it's acceptable to break that because there has never been a guarantee of unchanging output format except with --batch for most commands. The old output was just really weird too! One possible wart is that "git-annex registerurl" with no options now seems to just hang, since it's waiting for stdin input. Before, it said "registerurl (stdin)" which was clearer about what's happenening. But this is a deprecated mode anyway, --batch makes clear what's happening. If anything, this problem would be a reason to eventually remove the support for reading from stdin w/o --batch. Sponsored-by: Dartmouth College's Datalad project
This commit is contained in:
parent
291dc0d1a9
commit
0edf01d7d4
8 changed files with 74 additions and 44 deletions
|
@ -86,12 +86,15 @@ start matcher force (si, (keyname, file)) = do
|
|||
-- the uri scheme, to see if it looks like the prefix of a key. This relies
|
||||
-- on key backend names never containing a ':'.
|
||||
keyOpt :: String -> Key
|
||||
keyOpt s = case parseURI s of
|
||||
keyOpt = either giveup id . keyOpt'
|
||||
|
||||
keyOpt' :: String -> Either String Key
|
||||
keyOpt' s = case parseURI s of
|
||||
Just u | not (isKeyPrefix (uriScheme u)) ->
|
||||
Backend.URL.fromUrl s Nothing
|
||||
Right $ Backend.URL.fromUrl s Nothing
|
||||
_ -> case deserializeKey s of
|
||||
Just k -> k
|
||||
Nothing -> giveup $ "bad key/url " ++ s
|
||||
Just k -> Right k
|
||||
Nothing -> Left $ "bad key/url " ++ s
|
||||
|
||||
perform :: AddUnlockedMatcher -> Key -> RawFilePath -> CommandPerform
|
||||
perform matcher key file = lookupKeyNotHidden file >>= \case
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue