Case Study: cargo publish --help
Explaining several flags from the --help
output from cargo publish
subcommand
may help further clarify:
$ cargo publish --help
cargo-publish
Upload a package to the registry
USAGE:
cargo publish [OPTIONS]
OPTIONS:
--token <TOKEN> Token to use when uploading
--index <INDEX> Registry index URL to upload the package to
--registry <REGISTRY> Registry to publish to
# ...
--token
is an authentication token, used to identify your request to the registry server
(via the "authorization" header, generally speaking, or the "user-agent" header, using the
temporary Shipyard.rs solution.
--index
is the url of a git
repository with metadata about the crates and crate versions available
at the registry server.
--registry
is the name of the registry server, specified to cargo
via configuration.
Specifically, the [registries]
setting allows one to associate a registry name with
an git
url (i.e. what you might otherwise pass using the --index
flag):
[registries.my-registry-server]
index = "https://git.shipyard.rs/my-registry-server/crate-index.git"
With this configuration, the registry name, passed via --registry
flag, allows cargo
to
identify the crate --index
git url for use in retrieving metadata about the registry server.