For consistency with find, and for easier scripting.
+git-annex (8.20201117) UNRELEASED; urgency=medium
+
+ * examinekey: Added a "file" format variable for consistency with find,
+ and for easier scripting.
+
+ -- Joey Hess <id@joeyh.name> Mon, 16 Nov 2020 09:38:32 -0400
+
git-annex (8.20201116) upstream; urgency=medium
* move: Fix a regression in the last release that made move --to not
import Command
import qualified Utility.Format
-import Command.Find (parseFormatOption, showFormatted, keyVars)
+import Command.Find (parseFormatOption, showFormatted, formatVars)
import Annex.Link
import Backend
import Types.Backend
showFormatted (format o) (serializeKey' k) $
[ ("objectpath", fromRawFilePath objectpath)
, ("objectpointer", fromRawFilePath objectpointer)
- ] ++ keyVars k
+ ] ++ formatVars k af
return True
where
-- Parse the input, which is either a key, or in batch mode
start :: FindOptions -> SeekInput -> RawFilePath -> Key -> CommandStart
start o _ file key = startingCustomOutput key $ do
- showFormatted (formatOption o) file $ ("file", fromRawFilePath file) : keyVars key
+ showFormatted (formatOption o) file
+ (formatVars key (AssociatedFile (Just file)))
next $ return True
startKeys :: FindOptions -> (SeekInput, Key, ActionItem) -> CommandStart
Utility.Format.format formatter $
M.fromList vars
-keyVars :: Key -> [(String, String)]
-keyVars key =
+formatVars :: Key -> AssociatedFile -> [(String, String)]
+formatVars key (AssociatedFile af) =
+ (maybe id (\f l -> (("file", fromRawFilePath f) : l)) af)
[ ("key", serializeKey key)
, ("backend", decodeBS $ formatKeyVariety $ fromKey keyVariety key)
, ("bytesize", size show)
mapM_ (showRemoteUrls remotemap) urls
Just formatter -> liftIO $ do
- let vs = catMaybes
- [ fmap (("file",) . fromRawFilePath)
- (actionItemWorkTreeFile ai)
- ] ++ Command.Find.keyVars key
+ let vs = Command.Find.formatVars key
+ (AssociatedFile (actionItemWorkTreeFile ai))
let showformatted muuid murl = putStr $
Utility.Format.format formatter $
M.fromList $ vs ++ catMaybes
These variables are also available for use in formats: ${key}, ${backend},
${bytesize}, ${humansize}, ${keyname}, ${hashdirlower}, ${hashdirmixed},
- ${mtime} (for the mtime field of a WORM key).
+ ${mtime} (for the mtime field of a WORM key), ${file} (when a filename is
+ provided to examinekey).
Also, '\\n' is a newline, '\\000' is a NULL, etc.
--- /dev/null
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 6"""
+ date="2020-11-16T13:52:12Z"
+ content="""
+Good idea, I added ${file}
+"""]]