Struct vergen::Git

source · []
pub struct Git { /* private fields */ }
Expand description

Configuration for the VERGEN_GIT_* instructions

Instructions

The following instructions can be generated:

InstructionDefault
cargo:rustc-env=VERGEN_GIT_BRANCH=feature/git2*
cargo:rustc-env=VERGEN_GIT_COMMIT_COUNT=330
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, the VERGEN_GIT_BRANCH instruction will not be generated.
  • If the commit_count field is false, the VERGEN_GIT_COMMIT_COUNT 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, the cargo:rerun-if-changed instructions will not be generated.
  • If the semver field is false, the VERGEN_GIT_SEMVER instruction will not be generated.
  • If the sha field is fale, the VERGEN_GIT_SHA instruction will not be generated.
  • NOTE - The SHA defaults to the Normal variant, but can be changed via the sha_kind field.
  • NOTE - The SemVer defaults to the Normal variant, but can be changed via the semver_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 the semver_dirty field.
  • NOTE - The Lightweight variant will only differ from the Normal 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

Optional git base directory

Enable/Disable the VERGEN_GIT_BRANCH instruction

Enable/Disable the VERGEN_GIT_COMMIT_AUTHOR_NAME, VERGEN_GIT_COMMIT_AUTHOR_EMAIL

Enable/Disable the VERGEN_GIT_COMMIT_COUNT

Enable/Disable the VERGEN_GIT_COMMIT_MESSAGE

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

Enable/Disable the VERGEN_GIT_SHA instruction

The kind of SHA instruction to output.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.