Ragex. Git. Backend. CLI
(Ragex v0.18.0)
View Source
Git backend that shells out to the git CLI binary.
This is the universal fallback -- it works on any system where git is
installed. It is also the only path for operations that libgit2
does not support, such as git log -L (function-level line tracking).
All output is parsed from porcelain/machine-readable formats to avoid locale-dependent text issues.
Summary
Functions
Track the evolution of a function through history using git log -L.
Functions
@spec function_log(String.t(), String.t(), String.t(), keyword()) :: {:ok, [Ragex.Git.Commit.t()]} | {:error, term()}
Track the evolution of a function through history using git log -L.
This operation is always handled by the CLI backend because
libgit2 does not support the -L flag.
Parameters
repo_root-- absolute path to the repository rootfunction_name-- the function name (used in the regex pattern)file_path-- path relative to repo rootopts--:max_count(default 20)
Returns
{:ok, [Commit.t()]} with the commits that modified the function.