jennifer registry

@deckyard/git

Work with git repositories through the git command line: status, commit, log, diff, branches, tags, remotes, with hardened defaults

gitvcsversion-controlrepositorycommit

Depend on it

[decks]
"@deckyard/git" = "^0.1.0"

Versions

VersionStatusKindPinRequiresEnginesCapabilities
0.1.0livegit3ecf1c7583ae-jennifer >=0.25.0exec

License

LGPL-3.0-only

Source

Released from
0.1.0
Published under
@deckyard mplx
Repository owner
deckyard

Resolutions

Times a client asked this registry where to find this deck. Not downloads: the registry only stores metadata, and the code is fetched from its repository directly, so we never see an install and cannot count one. Repeated builds inflate these numbers; installs from an existing lockfile do not appear at all. Counted in UTC.

Readme

@deckyard/git

test Documentation release

Git repositories for Jennifer through the git command line: open, create and clone repositories; status, staging, commits and stashes; log, diffs, blame and files at any revision; branches, tags and merges; fetch, pull and push. Results are typed structs parsed from git's machine-readable output. Built for names and URLs you do not control: option injection, remote helpers, repository-redirecting environment variables and hooks are all shut off, and every command has a timeout.

Documentation

Install

jvc add @deckyard/git

Or unpack src/ from a release archive (deckyard-git-<version>.tar.gz) into vendor/deckyard/git/.

Usage

import "@deckyard/git/" as git;

def repo as git.Repo init git.open(git.config(), ".");
def s as git.Status init git.status($repo);
io.printf("%s, %d changed\n", $s.branch, len($s.changes));
for (def c in git.log($repo, "", "", 5)) {
    io.printf("%s %s\n", strings.substring($c.hash, 0, 8), $c.subject);
}

Requirements

Jennifer 0.25.0 or newer and the default jennifer binary (the deck needs the exec capability); git 2.25 or newer and env on the PATH.

Development

tools/check-all.sh                   # the full gate, as CI runs it
jennifer test src/git_test.j         # tests; the live ones need git
tools/check-docs.sh                  # docs against the code

The tests that run git use throwaway repositories in the temp directory and no network. They return early where git is not installed, as in CI's container; run the suite on a machine with git before a release.

Licence

LGPL-3.0-only, see LICENSE. Copyright (C) 2026 mplx <[email protected]>.

Git is a trademark of the Software Freedom Conservancy. This deck is not affiliated with or endorsed by it.

This deck as JSON