update crate_universe `--repin` args to not require values. (#1433)

* update crate_universe `--repin` args to not require values.

* Regenerate documentation
diff --git a/crate_universe/private/crates_repository.bzl b/crate_universe/private/crates_repository.bzl
index 5eeb22f..d923dc9 100644
--- a/crate_universe/private/crates_repository.bzl
+++ b/crate_universe/private/crates_repository.bzl
@@ -115,7 +115,7 @@
 | `CARGO_BAZEL_GENERATOR_SHA256` | The sha256 checksum of the file located at `CARGO_BAZEL_GENERATOR_URL` |
 | `CARGO_BAZEL_GENERATOR_URL` | The URL of a cargo-bazel binary. This variable takes precedence over attributes and can use `file://` for local paths |
 | `CARGO_BAZEL_ISOLATED` | An authorative flag as to whether or not the `CARGO_HOME` environment variable should be isolated from the host configuration |
-| `CARGO_BAZEL_REPIN` | An indicator that the dependencies represented by the rule should be regenerated. `REPIN` may also be used. See [Repinning / Updating Dependencies](#repinning_updating_dependencies) for more details. |
+| `CARGO_BAZEL_REPIN` | An indicator that the dependencies represented by the rule should be regenerated. `REPIN` may also be used. See [Repinning / Updating Dependencies](#crates_repository_repinning_updating_dependencies) for more details. |
 
 Example:
 
@@ -159,7 +159,7 @@
 it on its own. When initially setting up this rule, an empty file should be created and then
 populated by repinning dependencies.
 
-<a id="#repinning_updating_dependencies"></a>
+<a id="#crates_repository_repinning_updating_dependencies"></a>
 
 ### Repinning / Updating Dependencies
 
diff --git a/crate_universe/private/crates_vendor.bzl b/crate_universe/private/crates_vendor.bzl
index 7a07302..0ebfa42 100644
--- a/crate_universe/private/crates_vendor.bzl
+++ b/crate_universe/private/crates_vendor.bzl
@@ -299,6 +299,29 @@
 ```shell
 bazel run //3rdparty:crates_vendor
 ```
+
+<a id="#crates_vendor_repinning_updating_dependencies"></a>
+
+### Repinning / Updating Dependencies
+
+Repinning dependencies is controlled by both the `CARGO_BAZEL_REPIN` environment variable or the `--repin`
+flag to the `crates_vendor` binary. To update dependencies, simply add the flag ro your `bazel run` invocation.
+
+```shell
+bazel run //3rdparty:crates_vendor -- --repin
+```
+
+Under the hood, `--repin` will trigger a [cargo update](https://doc.rust-lang.org/cargo/commands/cargo-update.html)
+call against the generated workspace. The following table describes how to controll particular values passed to the
+`cargo update` command.
+
+| Value | Cargo command |
+| --- | --- |
+| Any of [`true`, `1`, `yes`, `on`] | `cargo update` |
+| `workspace` | `cargo update --workspace` |
+| `package_name` | `cargo upgrade --package package_name` |
+| `package_name@1.2.3` | `cargo upgrade --package package_name --precise 1.2.3` |
+
 """,
     attrs = {
         "annotations": attr.string_list_dict(
diff --git a/crate_universe/src/cli/splice.rs b/crate_universe/src/cli/splice.rs
index fbe2c42..999b7dc 100644
--- a/crate_universe/src/cli/splice.rs
+++ b/crate_universe/src/cli/splice.rs
@@ -22,7 +22,7 @@
     pub cargo_lockfile: Option<PathBuf>,
 
     /// The desired update/repin behavior
-    #[clap(long, env = "CARGO_BAZEL_REPIN")]
+    #[clap(long, env = "CARGO_BAZEL_REPIN", default_missing_value = "true")]
     pub repin: Option<CargoUpdateRequest>,
 
     /// The directory in which to build the workspace. If this argument is not
diff --git a/crate_universe/src/cli/vendor.rs b/crate_universe/src/cli/vendor.rs
index a4c6b21..5a0b183 100644
--- a/crate_universe/src/cli/vendor.rs
+++ b/crate_universe/src/cli/vendor.rs
@@ -53,7 +53,7 @@
     /// The desired update/repin behavior. The arguments passed here are forward to
     /// [cargo update](https://doc.rust-lang.org/cargo/commands/cargo-update.html). See
     /// [metadata::CargoUpdateRequest] for details on the values to pass here.
-    #[clap(long, env = "CARGO_BAZEL_REPIN")]
+    #[clap(long, env = "CARGO_BAZEL_REPIN", default_missing_value = "true")]
     pub repin: Option<CargoUpdateRequest>,
 
     /// The path to a Cargo metadata `json` file.
diff --git a/docs/crate_universe.md b/docs/crate_universe.md
index 6171775..f69f30e 100644
--- a/docs/crate_universe.md
+++ b/docs/crate_universe.md
@@ -200,7 +200,7 @@
 | `CARGO_BAZEL_GENERATOR_SHA256` | The sha256 checksum of the file located at `CARGO_BAZEL_GENERATOR_URL` |
 | `CARGO_BAZEL_GENERATOR_URL` | The URL of a cargo-bazel binary. This variable takes precedence over attributes and can use `file://` for local paths |
 | `CARGO_BAZEL_ISOLATED` | An authorative flag as to whether or not the `CARGO_HOME` environment variable should be isolated from the host configuration |
-| `CARGO_BAZEL_REPIN` | An indicator that the dependencies represented by the rule should be regenerated. `REPIN` may also be used. See [Repinning / Updating Dependencies](#repinning_updating_dependencies) for more details. |
+| `CARGO_BAZEL_REPIN` | An indicator that the dependencies represented by the rule should be regenerated. `REPIN` may also be used. See [Repinning / Updating Dependencies](#crates_repository_repinning_updating_dependencies) for more details. |
 
 Example:
 
@@ -244,7 +244,7 @@
 it on its own. When initially setting up this rule, an empty file should be created and then
 populated by repinning dependencies.
 
-<a id="#repinning_updating_dependencies"></a>
+<a id="#crates_repository_repinning_updating_dependencies"></a>
 
 ### Repinning / Updating Dependencies
 
@@ -357,6 +357,29 @@
 bazel run //3rdparty:crates_vendor
 ```
 
+<a id="#crates_vendor_repinning_updating_dependencies"></a>
+
+### Repinning / Updating Dependencies
+
+Repinning dependencies is controlled by both the `CARGO_BAZEL_REPIN` environment variable or the `--repin`
+flag to the `crates_vendor` binary. To update dependencies, simply add the flag ro your `bazel run` invocation.
+
+```shell
+bazel run //3rdparty:crates_vendor -- --repin
+```
+
+Under the hood, `--repin` will trigger a [cargo update](https://doc.rust-lang.org/cargo/commands/cargo-update.html)
+call against the generated workspace. The following table describes how to controll particular values passed to the
+`cargo update` command.
+
+| Value | Cargo command |
+| --- | --- |
+| Any of [`true`, `1`, `yes`, `on`] | `cargo update` |
+| `workspace` | `cargo update --workspace` |
+| `package_name` | `cargo upgrade --package package_name` |
+| `package_name@1.2.3` | `cargo upgrade --package package_name --precise 1.2.3` |
+
+
 
 **ATTRIBUTES**