Higher-level tag management helpers that compose lower-level Git functions.
Provides convenience functions for creating, listing, sorting, and querying tags.
All functions accept an optional keyword list. Use :config to specify the
repository via a Git.Config struct; when omitted a default config is built
from the environment.
Summary
Functions
Creates a tag.
Deletes a tag.
Checks whether a tag exists.
Returns the most recent tag reachable from HEAD.
Lists all tags with detailed information.
Returns tags sorted by semantic version.
Functions
Creates a tag.
Delegates to Git.tag/1 with the :create option. Supports :message
for annotated tags and :ref for tagging a specific commit.
Options
:message- annotation message (creates an annotated tag):ref- commit to tag (default: HEAD):config- aGit.Configstruct
Returns {:ok, :done} on success.
Deletes a tag.
Delegates to Git.tag(delete: name).
Returns {:ok, :done} on success.
Checks whether a tag exists.
Lists all tags and checks if the given name is present.
Returns {:ok, true} or {:ok, false}.
Returns the most recent tag reachable from HEAD.
Uses Git.describe(tags: true, abbrev: 0) to find the latest tag.
Returns {:ok, String.t()} with the tag name, or {:error, term()} if
no tags exist.
Lists all tags with detailed information.
Delegates to Git.tag/1 with no create/delete options.
Returns {:ok, [Git.Tag.t()]}.
Returns tags sorted by semantic version.
Lists all tags, then sorts them using Version.parse/1 where possible.
Tags that are not valid semver are sorted lexicographically and placed
after the versioned tags.
Returns {:ok, [Git.Tag.t()]}.