Struct vergen::Git [−][src]
pub struct Git { /* fields omitted */ }
Expand description
Configuration for the VERGEN_GIT_*
instructions
Instructions
The following instructions can be generated:
Instruction | Default |
---|---|
cargo:rustc-env=VERGEN_GIT_BRANCH=feature/git2 | * |
cargo:rustc-env=VERGEN_GIT_COMMIT_DATE=2021-02-12 | |
cargo:rustc-env=VERGEN_GIT_COMMIT_TIME=01:54:15 | |
cargo:rustc-env=VERGEN_GIT_COMMIT_TIMESTAMP=2021-02-12T01:54:15.134750+00:00 | * |
cargo:rustc-env=VERGEN_GIT_SEMVER=v3.2.0-86-g95fc0f5d | * |
cargo:rustc-env=VERGEN_GIT_SEMVER_LIGHTWEIGHT=feature-test | |
cargo:rustc-env=VERGEN_GIT_SHA=95fc0f5d066710f16e0c23ce3239d6e040abca0d | * |
cargo:rustc-env=VERGEN_GIT_SHA_SHORT=95fc0f5 | |
cargo:rerun-if-changed=/Users/yoda/projects/rust-lang/vergen/.git/HEAD | * |
cargo:rerun-if-changed=/Users/yoda/projects/rust-lang/vergen/.git/refs/heads/feature/git2 | * |
- If the
branch
field is false, theVERGEN_GIT_BRANCH
instruction will not be generated. - If the
commit_timestamp
field is false, the date/time instructions will not be generated. - If the
rerun_on_head_changed
field is false, thecargo:rerun-if-changed
instructions will not be generated. - If the
semver
field is false, theVERGEN_GIT_SEMVER
instruction will not be generated. - If the
sha
field is fale, theVERGEN_GIT_SHA
instruction will not be generated. - NOTE - The SHA defaults to the
Normal
variant, but can be changed via thesha_kind
field. - NOTE - The SemVer defaults to the
Normal
variant, but can be changed via thesemver_kind
field. - NOTE - The SemVer is only useful if you have tags on your repository. If your repository has no tags, this will default to
CARGO_PKG_VERSION
. - NOTE - You can add a
-dirty
flag to the SemVer output via thesemver_dirty
field. - NOTE - The
Lightweight
variant will only differ from theNormal
variant if you use lightweight tags in your repository. - NOTE - By default, the date/time related instructions will use
UTC
. - NOTE - The date/time instruction output is determined by the
kind
field and can be any combination of the three. - NOTE - If the
rerun_on_head_chaged
instructions are enabled, cargowill re-run the build script when either
<gitpath>/HEADor the file that
<gitpath>/HEAD` points at changes.
Example
use vergen::{vergen, Config}; use vergen::{ShaKind, SemverKind}; let mut config = Config::default(); // Change the SHA output to the short variant *config.git_mut().sha_kind_mut() = ShaKind::Short; // Change the SEMVER output to the lightweight variant *config.git_mut().semver_kind_mut() = SemverKind::Lightweight; // Add a `-dirty` flag to the SEMVER output *config.git_mut().semver_dirty_mut() = Some("-dirty"); // Generate the instructions vergen(config)?;
Implementations
Enable/Disable the git output
Enable/Disable the VERGEN_GIT_BRANCH
instruction
Enable/Disable the VERGEN_GIT_COMMIT_DATE
, VERGEN_GIT_COMMIT_TIME
, and VERGEN_GIT_COMMIT_TIMESTAMP
instructions
The timezone to use for the date/time instructions.
The kind of date/time instructions to output.
Enable/Disable the cargo:rerun-if-changed
instructions
Enable/Disable the VERGEN_GIT_SEMVER
instruction
The kind of semver instruction to output.
Enable/Disable the -dirty
flag on VERGEN_GIT_SEMVER*
output
The kind of SHA instruction to output.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Git
impl UnwindSafe for Git
Blanket Implementations
Mutably borrows from an owned value. Read more