protocol

git_protocol

Predicates for accessing a git project current branch and latest commit data.

Availability:
logtalk_load(git(loader))
Author: Paulo Moura
Version: 1:1:0
Date: 2022-01-21
Compilation flags:
static
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

Public predicates

branch/2

Returns the name of the current git branch. Fails if the directory is not a git repo or a sub-directory of a git repo directory.

Compilation flags:
static
Template:
branch(Directory,Branch)
Mode and number of proofs:
branch(+atom,?atom) - zero_or_one

commit_author/2

Returns the latest commit author. Fails if the directory is not a git repo or a sub-directory of a git repo directory.

Compilation flags:
static
Template:
commit_author(Directory,Author)
Mode and number of proofs:
commit_author(+atom,-atom) - zero_or_one

commit_date/2

Returns the latest commit date (strict ISO 8601 format). Fails if the directory is not a git repo or a sub-directory of a git repo directory.

Compilation flags:
static
Template:
commit_date(Directory,Date)
Mode and number of proofs:
commit_date(+atom,-atom) - zero_or_one

commit_hash/2

Returns the latest commit hash. Fails if the directory is not a git repo or a sub-directory of a git repo directory.

Compilation flags:
static
Template:
commit_hash(Directory,Hash)
Mode and number of proofs:
commit_hash(+atom,-atom) - zero_or_one

commit_hash_abbreviated/2

Returns the latest commit abbreviated hash. Fails if the directory is not a git repo or a sub-directory of a git repo directory.

Compilation flags:
static
Template:
commit_hash_abbreviated(Directory,Hash)
Mode and number of proofs:
commit_hash_abbreviated(+atom,-atom) - zero_or_one

commit_message/2

Returns the latest commit message. Fails if the directory is not a git repo or a sub-directory of a git repo directory.

Compilation flags:
static
Template:
commit_message(Directory,Message)
Mode and number of proofs:
commit_message(+atom,-atom) - zero_or_one

commit_log/3

Returns the git latest commit log output for the given format (see e.g. https://git-scm.com/docs/pretty-formats). Fails if the directory is not a git repo or a sub-directory of a git repo directory.

Compilation flags:
static
Template:
commit_log(Directory,Format,Output)
Mode and number of proofs:
commit_log(+atom,+atom,-atom) - zero_or_one

Protected predicates

(none)

Private predicates

(none)

Operators

(none)