Skip to contents

A signature contains the author and timestamp of a commit. Each commit includes a signature of the author and committer (which can be identical).

Usage

git_signature_default(repo = ".")

git_signature(name, email, time = NULL)

git_signature_parse(sig)

Arguments

repo

The path to the git repository. If the directory is not a repository, parent directories are considered (see git_find). To disable this search, provide the filepath protected with I(). When using this parameter, always explicitly call by name (i.e. repo = ) because future versions of gert may have additional parameters.

name

Real name of the committer

email

Email address of the committer

time

timestamp of class POSIXt or NULL

sig

string in proper "First Last <your@email.com>" format, see details.

Details

A signature string has format "Real Name <email> timestamp tzoffset". The timestamp tzoffset piece can be omitted in which case the current local time is used. If not omitted, timestamp must contain the number of seconds since the Unix epoch and tzoffset is the timezone offset in hhmm format (note the lack of a colon separator)

Examples

# Your default user
try(git_signature_default())
#> Error in libgit2::git_repository_open_ext : 
#>   could not find repository at '/tmp/RtmpJTMW80/gert/reference'

# Specify explicit name and email
git_signature("Some committer", "sarah@gmail.com")
#> [git signature]
#> Author: Some committer <sarah@gmail.com>
#> Date: Sat Nov 02 09:14:58 2024 +0000

# Create signature for an hour ago
(sig <- git_signature("Han", "han@company.com", Sys.time() - 3600))
#> [git signature]
#> Author: Han <han@company.com>
#> Date: Sat Nov 02 08:14:58 2024 +0000

# Parse a signature
git_signature_parse(sig)
#> $name
#> [1] "Han"
#> 
#> $email
#> [1] "han@company.com"
#> 
#> $time
#> [1] "2024-11-02 08:14:58 UTC"
#> 
#> $offset
#> [1] 0
#> 
git_signature_parse("Emma <emma@mu.edu>")
#> $name
#> [1] "Emma"
#> 
#> $email
#> [1] "emma@mu.edu"
#> 
#> $time
#> [1] "2024-11-02 09:14:58 UTC"
#> 
#> $offset
#> [1] 0
#>