# `CONSFIGURATOR.PROPERTY.GIT`

## API reference

### General

#### Property: `GIT:INSTALLED`

`(git:installed)`

Ensures that git(1) is installed.

#### Property: `GIT:SNAPSHOT-EXTRACTED`

`(git:snapshot-extracted snapshot-name directory &key replace)`

Extract a tarball as produced by DATA:GIT-SNAPSHOT under DIRECTORY. If REPLACE, delete and replace the snapshot (or anything else) that already exists at DIRECTORY/SNAPSHOT-NAME. This is useful to ensure the latest available version of the snapshot is present on the remote system.

#### Property: `GIT:CLONED`

`(git:cloned url dest &optional branch)`

Clone git repo available at URL to DEST. If the directory already exists and contains anything but a git repo cloned from URL, recursively delete it first. If BRANCH, check out that branch.

#### Property: `GIT:PULLED`

`(git:pulled url dest &optional branch)`

Like GIT:CLONED, but also ‘git pull’ each time this property is applied.

#### Property: `GIT:REPO-CONFIGURED`

`(git:repo-configured repo &rest pairs)`