GitModule (LowEndInsight v0.6.6) View Source
Collections of functions for interacting with the git
command to perform queries.
Link to this section Summary
Functions
clone_repo/2: clones the repo
get_commit_dates/1: returns a list of unix timestamps representing commit times
get_contributions_map/1: returns a map of contributions per git user note: this map is unfiltered, dupes aren't identified
get_contributors_count/1: returns the number of contributors for a given Git repo
get_default_branch/1: returns the default branch of the remote repo
get_last_n_commits/2: returns a list of lines generated from the diff of two commits
get_current_hash/1: returns the hash of the repo's HEAD
get_last_2_delta/1: returns the lines changed, files changed, additions and deletions in the last commit
get_last_commit_date/1: returns the date of the last commit
get_last_n_commits/1: returns a list of the short hashes of the last n commits
get_recent_changes/1: returns the percentage of changed lines in the last commit by the total lines in the repo
get_repo/1: gets a repo by path, returns Repository struct
get_tag_and_commit_dates/1: returns a list of lists of unix timestamps representing commit times with each lsit belonging to a different tag
get_top10_contributors_map/1: Gets the top 10 contributors and returns it
as a list of contributors with the commits list stripped from the map.
get_total_lines/1: returns the total lines and files contained in a repo as of the latest commit
Link to this section Functions
Specs
clone_repo/2: clones the repo
Specs
delete_repo(Git.Repository.t()) :: String.t()
Specs
get_clean_contributions_map(Git.Repository.t()) :: {:ok, map()}
Specs
get_commit_dates(Git.Repository.t()) :: {:ok, [non_neg_integer()]}
get_commit_dates/1: returns a list of unix timestamps representing commit times
Specs
get_contributions_map(Git.Repository.t()) :: {:ok, [%{contributions: non_neg_integer(), name: String.t()}]}
get_contributions_map/1: returns a map of contributions per git user note: this map is unfiltered, dupes aren't identified
Specs
get_contributor_count(Git.Repository.t()) :: {:ok, non_neg_integer()}
get_contributors_count/1: returns the number of contributors for a given Git repo
Specs
get_contributor_distribution(Git.Repository.t()) :: {:ok, map(), non_neg_integer()}
Specs
get_contributors(Git.Repository.t()) :: {:ok, [Contributor.t()]}
Specs
get_default_branch(Git.Repository.t()) :: {:ok, String.t()}
get_default_branch/1: returns the default branch of the remote repo
Specs
get_diff_2_commits(Git.Repository.t(), [any()]) :: {:ok, [String.t()]} | []
get_last_n_commits/2: returns a list of lines generated from the diff of two commits
Specs
get_functional_contributors(Git.Repository.t()) :: {:ok, non_neg_integer(), [any()]}
Specs
get_hash(Git.Repository.t()) :: {:ok, String.t()}
get_current_hash/1: returns the hash of the repo's HEAD
Specs
get_last_2_delta(Git.Repository.t()) :: {:ok, non_neg_integer(), non_neg_integer(), non_neg_integer()}
get_last_2_delta/1: returns the lines changed, files changed, additions and deletions in the last commit
Specs
get_last_commit_date(Git.Repository.t()) :: {:ok, String.t()}
get_last_commit_date/1: returns the date of the last commit
Specs
get_last_n_commits(Git.Repository.t(), non_neg_integer()) :: {:ok, [any()]}
get_last_n_commits/1: returns a list of the short hashes of the last n commits
Specs
get_recent_changes(Git.Repository.t()) :: {:ok, float()}
get_recent_changes/1: returns the percentage of changed lines in the last commit by the total lines in the repo
Specs
get_repo(String.t()) :: {:ok, Git.Repository.t()} | {:error, String.t()}
get_repo/1: gets a repo by path, returns Repository struct
Specs
get_repo_size(Git.Repository.t()) :: {:ok, String.t()}
Specs
get_tag_and_commit_dates(Git.Repository.t()) :: [any()]
get_tag_and_commit_dates/1: returns a list of lists of unix timestamps representing commit times with each lsit belonging to a different tag
Specs
get_top10_contributors_map(Git.Repository.t()) :: {:ok, [any()]}
get_top10_contributors_map/1: Gets the top 10 contributors and returns it
as a list of contributors with the commits list stripped from the map.
Specs
get_total_lines(Git.Repository.t()) :: {:ok, non_neg_integer(), non_neg_integer()}
get_total_lines/1: returns the total lines and files contained in a repo as of the latest commit