Due to the idiosyncracies of this command there are a few things to note about this migration.
The rad sync command acts as a default subcommand in itself, in that it has
options that do not apply to its subcommand, rad sync status. This means that
the options will print with rad sync --help, but they will not print with rad sync status.
The --inventory flag is not compatible with any of the other flags and
options, thus they are all marked with conflicts_with. This cannot be done for
a positional argument, so clap will “helpfully” print out the usage, for
example, as:
error: the argument '--inventory' cannot be used with '--fetch'
Usage: rad sync --inventory [RID]
For more information, try '--help'.
Which is incorrect, since RID is ignored. This is explained in the --help
documentation for --inventory.
Due to the idiosyncracies of this command there are a few things to note about this migration.
The rad sync command acts as a default subcommand in itself, in that it has
options that do not apply to its subcommand, rad sync status. This means that
the options will print with rad sync --help, but they will not print with rad sync status.
The --inventory flag is not compatible with any of the other flags and
options, thus they are all marked with conflicts_with. This cannot be done for
a positional argument, so clap will “helpfully” print out the usage, for
example, as:
error: the argument '--inventory' cannot be used with '--fetch'
Usage: rad sync --inventory [RID]
For more information, try '--help'.
Which is incorrect, since RID is ignored. This is explained in the --help
documentation for --inventory.
Review
Rebase
Squash most of my review from revision b302ab1226b82e0e3b52ea5ffcc290ee9220640b and rebase.