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 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)
See also
Other git:
git_archive
,
git_branch()
,
git_commit()
,
git_config()
,
git_diff()
,
git_fetch()
,
git_ignore
,
git_merge()
,
git_rebase()
,
git_remote
,
git_repo
,
git_reset()
,
git_stash
,
git_tag
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
#>