Ideally, it would look similar to this. And yes, I put "put" in there ;)
non-annex % git annex status
git annex status: error: not a git annex repository
annex % git annex status
annex object storage version: A
annex backend engine: {WORM,SHA512,...}
Estimated local annex size: B MiB
Estimated total annex size: C MiB
Files without file size information in local annex: D
Files without file size information in total annex: E
Last fsck: datetime
Last git pull: datetime - $annex_name
Last git push: datetime - $annex_name
Last git annex get: datetime - $annex_name
Last git annex put: datetime - $annex_name
annex %
Datetime could be ISO's YYYY-MM-DDThh:mm:ss or, personal preference, YYYY-MM-DD--hh-mm-ss. I prefer the latter as it's DNS-, tag- and filename-safe which is why I am using it for everything. In a perfect world, ISO would standardize YYYY-MM-DD-T-hh-mm-ss-Z[-SSSSSSSS][--$timezone], but meh.
we could include the information about the current directory as well, if the command is not issued in the local git root directory. to avoid large numbers of similar lines, that could look like this:
with the percentages being replaced with "complete" if really all files are present (and not just many enough for the value to be rounded to 100%).
What a good idea!
150 lines of haskell later, I have this:
# git annex status supported backends: WORM SHA1 SHA256 SHA512 SHA224 SHA384 SHA1E SHA256E SHA512E SHA224E SHA384E URL supported remote types: git S3 bup directory rsync hook local annex keys: 32 local annex size: 58 megabytes total annex keys: 38158 total annex size: 6 terabytes (but 1632 keys have unknown size) backend usage: SHA1: 1789 WORM: 36369--from=...or--all? (thus, among other things, one could determine if a remote has a complete checkout.)