git-annex/doc/git-annex-expire.mdwn
Joey Hess 365dbc89dc
expire, trust et al, dead, describe: Support --json and --json-error-messages
For expire, the normal output is unchanged, but the --json output includes the uuid
in machine parseable form. Which could be very useful for this somewhat obscure
command. That needed ActionItemUUID to be implemented, which seemed like a lot
of work, but then ---

I had been going to skip implementing them for trust, untrust, dead, semitrust,
and describe, but putting the uuid in the json is useful information, it tells
what uuid git-annex picked given the input. It was not hard to support
these once ActionItemUUID was implemented.

Sponsored-By: the NIH-funded NICEMAN (ReproNim TR&D3) project
2023-05-05 15:33:30 -04:00

79 lines
2.1 KiB
Markdown

# NAME
git-annex expire - expire inactive repositories
# SYNOPSIS
git annex expire `[repository:]time ...`
# DESCRIPTION
This command expires repositories that have not performed some activity
within a specified time period. A repository is expired by marking it as
dead. De-expiration is also done; if a dead repository performed some
activity recently, it is marked as semitrusted again.
This can be useful when it's not possible to keep track of the state
of repositories manually. For example, a distributed network of
repositories where nobody can directly access all the repositories to
check their status.
The repository can be specified using the name of a remote,
or the description or uuid of the repository.
The time is in the form "60d" or "1y". A time of "never" will disable
expiration.
If a time is specified without a repository, it is used as the default
value for all repositories. Note that the current repository is never
expired.
# OPTIONS
* `--no-act`
Print out what would be done, but not not actually expire or unexpire
any repositories.
* `--activity=Name`
Specify the activity that a repository must have performed to avoid being
expired. The default is any activity.
Currently, the only activity that can be performed to avoid expiration
is --activity=Fsck which corresponds to `git annex fsck`.
Note that fscking a remote updates the expiration of the remote
repository, not the local repository.
The first version of git-annex that recorded fsck activity was
5.20150405.
* `--json`
Enable JSON output. This is intended to be parsed by programs that use
git-annex. Each line of output is a JSON object.
* `--json-error-messages`
Messages that would normally be output to standard error are included in
the JSON instead.
* Also the [[git-annex-common-options]](1) can be used.
# SEE ALSO
[[git-annex]](1)
[[git-annex-fsck]](1)
[[git-annex-schedule]](1)
[[git-annex-dead]](1)
[[git-annex-semitrust]](1)
# AUTHOR
Joey Hess <id@joeyh.name>
Warning: Automatically converted into a man page by mdwn2man. Edit with care.