Crate git_testament

source ·
Expand description

Generate a testament of the git working tree state for a build

You likely want to see either the git_testament macro, or if you are in a no-std type situation, the git_testament_macros macro instead.

If you build this library with the default alloc feature disabled then while the non-macro form of the testaments are offered, they cannot be rendered and the render_testament macro will not be provided.

Trusted branches

In both render_testament and git_testament_macros you will find mention of the concept of a “trusted” branch. This exists as a way to allow releases to be made from branches which are not yet tagged. For example, if your release process requires that the release binaries be built and tested before tagging the repository then by nominating a particular branch as trusted, you can cause the rendered testament to trust the crate’s version rather than being quite noisy about how the crate version and the tag version do not match up.



  • A testament to the state of a git repository when a crate is built.


  • The kind of commit available at the point that the testament was created.
  • A modification to a working tree, recorded when the testament was created.