legit
1.0.0CL interface to the GIT binary.
About Legit
This is an interface to the GIT binary to make controlling it from within CL much easier. I've had the need to do this kind of thing a couple of times now, so I might as well encapsulate it into a proper library. I don't know if this is ever going to reach full coverage of all features given GIT's immense size, but I will add features as they are needed. The low-level command API is fully mapped however.
How To
You will need the git
binary in your PATH
. Once you got that, and have this system loaded via ASDF or Quicklisp, you can access all the git commands through functions.
(legit:with-chdir ("some/git/dir")
(legit:git-rev-parse "HEAD" :short T))
All commands have been hand-rewritten to work through the uniform and comfortable API we're used to from Lisp. There is an even more convenient (albeit incomplete) interface using repository
instances.
(let ((repository (make-instance 'legit:repository :location "some/git/dir")))
(values (legit:commits repository)
(legit:current-branch repository)
(legit:remote-url repository)))
A lot of the information about a repository that you can access will automatically be cached until some destructive operation (like a pull
) occurs, so that querying that information does not take so much time each request.
Also See
- Simple-inferiors for running and controlling the git binary.
System Information
Definition Index
-
LEGIT
- ORG.SHIRAKUMO.LEGIT
No documentation provided.-
external special-variable *git-errors*
The stream to which the error output of the git process is sent. Defaults to T, but may be automatically bound by some functions in order to process the output.
-
external special-variable *git-input*
The stream from which the standard input of the git process is taken. Defaults to NIL.
-
external special-variable *git-output*
The stream to which the standard output of the git process is sent. Defaults to T, but may be automatically bound by some functions in order to process the output.
-
external class repository
-
external condition git-error
No documentation provided. -
external function git-add
- &key
- paths
- dry-run
- verbose
- force
- interactive
- patch
- edit
- update
- all
- ignore-removal
- intent-to-add
- refresh
- ignore-errors
- ignore-missing
git add See https://git-scm.com/docs/git-add
-
external function git-am
- &key
- maildirs
- signoff
- keep
- keep-non-patch
- keep-cr
- scissors
- message-id
- quiet
- utf8
- 3way
- ignore-space-change
- ignore-whitespace
- whitespace
- directory
- exclude
- include
- reject
- patch-format
- interactive
- commiter-date-is-author-date
- ignore-date
- skip
- gpg-sign
- continue
- resolved
- resolvemsg
- abort
- remove-leading-slashes
- surrounding
git am See https://git-scm.com/docs/git-am
-
external function git-apply
- &key
- patches
- stat
- numstat
- summary
- check
- index
- cached
- 3way
- build-fake-ancestor
- recursive
- reject
- machine-readable
- remove-leading-slashes
- surrounding
- unidiff-zero
- apply
- no-add
- binary
- exclude
- include
- ignore-whitespace
- whitespace
- inaccurate-eof
- verbose
- recount
- directory
- unsafe-paths
git apply See https://git-scm.com/docs/git-apply
-
external function git-archive
- tree-ish
- &key
- paths
- format
- list
- verbose
- prefix
- output
- worktree-attributes
- remote
- exec
git archive See https://git-scm.com/docs/git-archive
-
external function git-bisect
- action
- &key
- options
- paths
- no-checkout
git bisect See https://git-scm.com/docs/git-bisect
-
external function git-blame
- file
- &key
- blank
- root
- show-stats
- range
- long
- timestamp
- revisions
- reverse
- porcelain
- line-porcelain
- incremental
- encoding
- contents
- date
- moved
- within-commit
- help
- annotate
- score-debug
- show-name
- show-number
- suppress
- show-email
- ignore-whitespace
- abbrev
git blame See https://git-scm.com/docs/git-blame
-
external function git-branch
- &key
- branch
- start-point
- old-branch
- new-branch
- patterns
- branches
- delete
- create-reflog
- force
- move
- color
- column
- remotes
- all
- list
- verbose
- quiet
- abbrev
- track
- set-upstream
- set-upstream-to
- unset-upstream
- edit-description
- contains
- merged
- no-merged
- format
git branch See https://git-scm.com/docs/git-branch
-
external function git-bundle
- action
- file
- &key
- git-rev-list-args
- refnames
git bundle See https://git-scm.com/docs/git-bundle
-
external function git-cat-file
- object
- &key
- type
- show-type
- show-size
- suppress
- pretty
- textconv
- batch
- batch-check
- allow-unknown-type
- follow-symlinks
git cat-file See https://git-scm.com/docs/git-cat-file
-
external function git-checkout
- &key
- branch
- new-branch
- start-point
- tree-ish
- commit
- paths
- quiet
- force
- ours
- theirs
- track
- detach
- orphan
- ignore-skip-worktree-bits
- merge
- cnoflict
- path
- ignore-other-worktrees
git checkout See https://git-scm.com/docs/git-checkout
-
external function git-cherry-pick
- &key
- commits
- edit
- continue
- quit
- abort
- append-notice
- mainline
- no-commit
- signoff
- gpg-sign
- ff
- allow-empty
- allow-empty-message
- keep-redundant-commits
- strategy
- strategy-option
git cherry-pick See https://git-scm.com/docs/git-cherry-pick
-
external function git-clean
- &key
- paths
- directories
- force
- interactive
- dry-run
- quiet
- exclude
- no-ignore
- remove-ignored
git clean See https://git-scm.com/docs/git-clean
-
external function git-clone
- repository
- &key
- directory
- local
- no-hardlinks
- shared
- reference
- dissociate
- quiet
- verbose
- progress
- no-checkout
- bare
- mirror
- origin
- branch
- upload-pack
- template
- config
- depth
- single-branch
- recursive
- separate-git-dir
git clone See https://git-scm.com/docs/git-clone
-
external function git-commit
- &key
- files
- all
- patch
- reuse-message
- reedit-message
- fixup
- squash
- reset-author
- short
- branch
- porcelain
- long
- null
- file
- author
- date
- message
- template
- signoff
- no-verify
- allow-empty
- allow-empty-message
- cleanup
- edit
- amend
- no-post-rewrite
- include
- only
- untracked-files
- verbose
- quiet
- dry-run
- status
- gpg-sign
git commit See https://git-scm.com/docs/git-commit
-
external function git-commit-tree
- tree
- &key
- parent
- message
- file
- gpg-sign
git commit-tree See https://git-scm.com/docs/git-commit-tree
-
external function git-config
- &key
- file-option
- type
- name
- value
- url
- name-regex
- value-regex
- old-name
- new-name
- default
- stdout-is-tty
- null
- add
- replace-all
- unset
- unset-all
- rename-section
- remove-section
- list
- get-color
- get-colorbool
- edit
git config See https://git-scm.com/docs/git-config
-
external function git-count-objects
- &key
- verbose
- human-readable
git count-objects See https://git-scm.com/docs/git-count-objects
-
external function git-daemon
- &key
- directory
- strict-paths
- base-path
- base-path-relaxed
- interpolated-path
- export-all
- inted
- listen
- port
- init-timeout
- timeout
- max-connections
- syslog
- user-path
- verbose
- reuseaddr
- detach
- pid-file
- user
- group
- enable
- disable
- allow-override
- forbid-overrif
- informative-errors
- access-hook
git daemon See https://git-scm.com/docs/git-daemon
-
external function git-describe
- &key
- commit-ishs
- dirty
- all
- tags
- contains
- abbrev
- candidates
- exact-match
- debug
- long
- match
- always
- first-parent
git describe See https://git-scm.com/docs/git-describe
-
external function git-diff
- &key
- commit
- blob
- paths
- patch
- unified
- raw
- patch-with-raw
- minimal
- patience
- histogram
- diff-algorithm
- stat
- numstat
- shortstat
- dirstat
- summary
- patch-with-stat
- null
- name-only
- name-status
- submodule
- color
- word-diff
- word-diff-regex
- color-words
- no-renames
- check
- ws-error-highlight
- full-index
- binary
- abbrev
- break-rewrites
- find-renames
- find-copies
- find-copies-harder
- irreversible-delete
- limit-find
- diff-filter
- differing-occurrences
- differing-diffs
- pickaxe-all
- pickaxe-regex
- order
- swap
- relative
- text
- ignore-space-at-eol
- ignore-space-change
- ignore-all-space
- ignore-blank-lines
- inter-hunk-context
- function-context
- ext-diff
- textconv
- ignore-submodules
- src-prefix
- dst-prefix
- no-prefix
git diff See https://git-scm.com/docs/git-diff
-
external function git-diff-index
- tree-ish
- &key
- paths
- patch
- unified
- raw
- patch-with-raw
- minimal
- patience
- histogram
- diff-algorithm
- stat
- numstat
- shortstat
- dirstat
- summary
- patch-with-stat
- null
- name-only
- name-status
- submodule
- color
- word-diff
- word-diff-regex
- color-words
- no-renames
- check
- ws-error-highlight
- full-index
- binary
- abbrev
- break-rewrites
- find-renames
- find-copies
- find-copies-harder
- irreversible-delete
- limit-find
- diff-filter
- differing-occurrences
- differing-diffs
- pickaxe-all
- pickaxe-regex
- order
- swap
- relative
- text
- ignore-space-at-eol
- ignore-space-change
- ignore-all-space
- ignore-blank-lines
- inter-hunk-context
- function-context
- ext-diff
- textconv
- ignore-submodules
- src-prefix
- dst-prefix
- no-prefix
- report-unchecked
- cached
git diff-index See https://git-scm.com/docs/git-diff-index
-
external function git-fast-import
- &key
- force
- quiet
- stats
- cat-blob-fd
- date-format
- done
- export-marks
- import-marks
- import-marks-if-exists
- relative-marks
- active-branches
- big-file-threshold
- depth
- export-pack
- max-pack-size
git fast-import See https://git-scm.com/docs/git-fast-import
-
external function git-fetch
- &key
- repository
- refspecs
- group
- repositories
- groups
- all
- append
- depth
- unshallow
- update-shallow
- dry-run
- force
- keep
- multiple
- prune
- no-tags
- refmap
- tags
- recurse-submodules
- submodule-prefix
- recurse-submodules-default
- update-head-ok
- upload-pack
- quiet
- verbose
- progress
git fetch See https://git-scm.com/docs/git-fetch
-
external function git-filter-branch
- &key
- options
- env-filter
- tree-filter
- index-filter
- parent-filter
- msg-filter
- commit-filter
- tag-name-filter
- subdirectory-filter
- prune-empty
- original
- directory
- force
git filter-branch See https://git-scm.com/docs/git-filter-branch
-
external function git-for-each-ref
- &key
- patterns
- count
- shell
- perl
- python
- tcl
- sort
- format
git for-each-ref See https://git-scm.com/docs/git-for-each-ref
-
external function git-format-patch
- &key
- options
- since
- revision-range
- no-stat
- no-patch
- unified
- minimal
- patience
- histogram
- diff-algorigthm
- stat
- numstat
- shortstat
- dirstat
- summary
- no-renames
- full-index
- binary
- abbrev
- break-rewrites
- find-renames
- find-copies
- find-copies-harder
- irreversible-delete
- limit-find
- order
- text
- ignore-space-at-eol
- ignore-space-change
- ignore-all-space
- ignore-blank-lines
- inter-hunk-context
- function-context
- ext-diff
- textconv
- ignore-submodules
- src-prefix
- dst-prefix
- no-prefix
- output-directory
- numbered
- start-number
- numbered-files
- keep-subject
- signoff
- stdout
- attach
- inline
- thread
- in-reply-to
- ignore-if-in-upstream
- subject-prefix
- reroll-count
- to
- cc
- from
- add-header
- cover-letter
- notes
- signature
- signature-file
- suffix
- quiet
- no-binary
- root
git format-patch See https://git-scm.com/docs/git-format-patch
-
external function git-fsck
- &key
- objects
- unreacakble
- dangling
- root
- tags
- cache
- no-reflogs
- full
- strict
- verbose
- lost-found
- progress
git fsck See https://git-scm.com/docs/git-fsck
-
external function git-gc
- &key
- aggressive
- auto
- prune
- quiet
- force
git gc See https://git-scm.com/docs/git-gc
-
external function git-grep
- &key
- tree
- paths
- cached
- no-index
- untracked
- exclude-standard
- text
- textconv
- ignore-case
- no-binary
- max-depth
- word-regexp
- invert-match
- suppress-filename
- full-name
- extended-regexp
- basic-regexp
- perl-regexp
- fixed-strings
- line-number
- name-only
- null
- count
- color
- break
- heading
- show-function
- context
- after-context
- before-context
- function-context
- file
- pattern
- and
- or
- not
- all-match
- quiet
git grep See https://git-scm.com/docs/git-grep
-
external function git-hash-object
- files
- &key
- type
- write
- stdin
- stdin-paths
- path
- no-filters
- literally
git hash-object See https://git-scm.com/docs/git-hash-object
-
external function git-help
- command-or-guide
- &key
- all
- guides
- info
- man
- web
git help See https://git-scm.com/docs/git-help
-
external function git-init
- &key
- directory
- quiet
- bare
- template
- separate-git-dir
- shared
git init See https://git-scm.com/docs/git-init
-
external function git-instaweb
- &key
- local
- httpd
- module-path
- port
- browser
- start
- stop
- restart
git instaweb See https://git-scm.com/docs/git-instaweb
-
external function git-location-p
- location
Returns T if the given location/path is a, or within a git repository.
-
external function git-log
- &key
- revision-range
- paths
- follow
- decorate
- source
- use-mailmap
- full-diff
- log-size
- range
- max-count
- skip
- since
- until
- author
- grep-reflog
- all-match
- invert-grep
- regexp-ignore-case
- basic-regexp
- extended-regexp
- fixed-strings
- perl-regexp
- remove-empty
- merges
- min-parents
- max-parents
- first-parent
- not
- all
- branches
- tags
- remotes
- glob
- exclude
- reflog
- ignore-missing
- bisect
- stdin
- cherry-mark
- cherry-pick
- left-only
- right-only
- cherry
- walk-reflogs
- merge
- boundary
- simplify-by-decoration
- full-history
- dense
- sparse
- simplify-merges
- ancestry-path
- date-order
- author-date-order
- topo-order
- reverse
- no-walk
- do-walk
- relative-date
- date
- parents
- children
- left-right
- graph
- show-linear-break
- simultaneous-diff
- compressed-simultaneous-diff
- full-merge-diff
- show-recursive-diff
- show-tree-diff
- pretty
- format
git log See https://git-scm.com/docs/git-log
-
external function git-ls-files
- &key
- files
- cached
- deleted
- modified
- others
- ignored
- stage
- directory
- no-empty-directory
- unmerged
- killed
- zero-terminate
- exclude
- exclude-from
- exclude-per-directory
- exclude-standard
- error-unmatch
- with-tree
- full-name
- abbrev
- debug
git ls-files See https://git-scm.com/docs/git-ls-files
-
external function git-merge
- &key
- head
- commits
- commit
- edit
- ff
- ff-only
- log
- stat
- squash
- strategy
- strategy-option
- verify-signatures
- summary
- quiet
- verbose
- progress
- gpg-sign
- message
- rerere-autoipdate
- abort
git merge See https://git-scm.com/docs/git-merge
-
external function git-merge-base
- &key
- ref
- commits
- octopus
- independent
- is-ancestor
- fork-point
- all
git merge-base See https://git-scm.com/docs/git-merge-base
-
external function git-mergetool
- &key
- files
- tool
- tool-help
- prompt
git mergetool See https://git-scm.com/docs/git-mergetool
-
external function git-mv
- sources
- destination
- &key
- fodce
- skip-errors
- dry-run
- verbose
git mv See https://git-scm.com/docs/git-mv
-
external function git-pull
- &key
- repository
- refspecs
- quiet
- verbose
- recurse-submodules
- commit
- edit
- ff
- ff-only
- log
- stat
- squash
- strategy
- strategy-option
- verify-signatures
- summary
- rebase
- all
- append
- depth
- unshallow
- update-shallow
- force
- keep
- no-tags
- update-head-ok
- upload-pack
- progress
git pull See https://git-scm.com/docs/git-pull
-
external function git-push
- &key
- repository
- refspecs
- all
- prune
- mirror
- dry-run
- porcelain
- delete
- tags
- follow-tags
- signed
- atomic
- receive-pack
- force-with-lease
- force
- repo
- set-upstream
- thin
- quiet
- verbose
- progress
- recurse-submodules
- verify
git push See https://git-scm.com/docs/git-push
-
external function git-read-tree
- &key
- tree-ish1
- tree-ish2
- tree-ish3
- merge
- reset
- update
- temporary-index
- dry-run
- verbose
- trivial
- aggressive
- prefix
- exclude-per-directory
- index-output
- no-sparse-checkout
- empty
git read-tree See https://git-scm.com/docs/git-read-tree
-
external function git-rebase
- &key
- upstream
- branch
- onto
- continue
- abort
- keep-empty
- skip
- edito-todo
- merge
- strategy
- strategy-option
- gpg-sign
- quiet
- verbose
- stat
- verify
- context
- force-rebase
- fork-point
- ignore-whitespace
- whitespace
- committer-date-is-author-date
- ignore-date
- interactive
- preserve-merges
- exec
- root
- autosquash
- autostash
- no-ff
git rebase See https://git-scm.com/docs/git-rebase
-
external function git-reflog
- action
- &key
- all
- expire
- expire-unreachable
- updateref
- rewrite
- stale-fix
- dry-run
- verbose
- follow
- decorate
- source
- use-mailmap
- full-diff
- log-size
- range
- max-count
- skip
- since
- until
- author
- grep-reflog
- all-match
- invert-grep
- regexp-ignore-case
- basic-regexp
- extended-regexp
- fixed-strings
- perl-regexp
- remove-empty
- merges
- min-parents
- max-parents
- first-parent
- not
- branches
- tags
- remotes
- glob
- exclude
- reflog
- ignore-missing
- bisect
- stdin
- cherry-mark
- cherry-pick
- left-only
- right-only
- cherry
- walk-reflogs
- merge
- boundary
- simplify-by-decoration
- full-history
- dense
- sparse
- simplify-merges
- ancestry-path
- date-order
- author-date-order
- topo-order
- reverse
- no-walk
- do-walk
- relative-date
- date
- parents
- children
- left-right
- graph
- show-linear-break
- simultaneous-diff
- compressed-simultaneous-diff
- full-merge-diff
- show-recursive-diff
- show-tree-diff
git reflog See https://git-scm.com/docs/git-reflog
-
external function git-remote
- action
- &key
- name
- url
- old
- new
- branches
- newurl
- oldurl
- names
- groups
- remotes
- verbose
- tags
- mirror
- auto
- add
- push
- delete
- dry-run
- prune
- immediate
- track
- symlink
- no-query
git remote See https://git-scm.com/docs/git-remote
-
external function git-request-pull
- start
- url
- &key
- end
- patch
git request-pull See https://git-scm.com/docs/git-request-pull
-
external function git-reset
- &key
- tree-ish
- paths
- soft
- mixed
- hard
- merge
- keep
- quiet
- patch
git reset See https://git-scm.com/docs/git-reset
-
external function git-rev-list
- &key
- max-count
- skip
- since
- until
- max-age
- author
- grep-reflog
- grep
- all-match
- invert-grep
- regexp-ignore-case
- basic-regexp
- extended-regexp
- fixed-strings
- perl-regexp
- remove-empty
- merges
- min-parents
- max-parents
- first-parent
- all
- branches
- tags
- remotes
- glob
- exclude
- reflog
- ignore-missing
- stdin
- quiet
- cherry-mark
- cherry-pick
- left-only
- right-only
- cherry
- walk-reflogs
- merge
- boundary
- use-bitmap-index
- simplify-by-decoration
- full-history
- dense
- sparse
- simplify-merges
- ancestry-path
- bisect
- bisect-vars
- bisect-all
- date-order
- author-date-order
- topo-order
- reverse
- objects
- objects-edge
- objects-edge-aggressive
- indexed-objects
- unpacked
- no-walk
- do-walk
- relative-date
- date
- header
- parents
- children
- timestamp
- left-right
- graph
- show-linear-break
- count
- full-merge-diff
- show-recursive-diff
- show-tree-diff
git rev-list See https://git-scm.com/docs/git-rev-list
-
external function git-rev-parse
- revs
- &key
- parseopt
- sq-quote
- keep-dashdash
- stop-at-non-option
- stuck-long
- revs-only
- no-revs
- flags
- default
- prefix
- verify
- quiet
- abbrev-ref
- short
- symbolic
- symbolic-full-name
- all
- branches
- tags
- remotes
- glob
- exclude
- disambiguate
- local-env-vars
- git-dir
- git-common-dir
- is-inside-git-dir
- is-inside-work-tree
- is-bare-repository
- resolve-git-dir
- git-path
- show-cdup
- show-prefix
- show-toplevel
- shared-index-path
- since
- until
git rev-parse See https://git-scm.com/docs/git-rev-parse
-
external function git-revert
- &key
- commits
- edit
- mainline
- no-commit
- gpg-sign
- signoff
- strategy
- strategy-option
- continue
- quit
- abort
git revert See https://git-scm.com/docs/git-revert
-
external function git-rm
- files
- &key
- force
- dry-run
- recursive
- cached
- ignore-unmatch
- quiet
git rm See https://git-scm.com/docs/git-rm
-
external function git-send-email
- things
- &key
- annotate
- bcc
- cc
- compose
- from
- in-reply-to
- subject
- to
- 8bit-encoding
- compose-encoding
- transfer-encoding
- xmailer
- envelope-sender
- smtp-encryption
- smtp-domain
- smtp-pass
- smtp-server
- smtp-server-port
- smtp-server-option
- smtp-ssl
- smtp-ssl-cert-path
- smtp-user
- smtp-debug
- to-cmd
- cc-cmd
- chain-reply-to
- identity
- signed-off-by-cc
- cc-cover
- to-cover
- suppress-cc
- suppress-from
- thread
- confirm
- dry-run
- format-patch
- quiet
- validate
- force
git send-email See https://git-scm.com/docs/git-send-email
-
external function git-shortlog
- &key
- revision-range
- paths
- numbered
- summary
- format
- width
git shortlog See https://git-scm.com/docs/git-shortlog
-
external function git-show
- objects
- &key
- pretty
- abbrev-commit
- oneline
- encoding
- notes
- show-notes
- standard-notes
- show-signature
- patch
- unified
- raw
- patch-with-raw
- minimal
- patience
- histogram
- diff-algorigthm
- stat
- numstat
- shortstat
- dirstat
- summary
- patch-with-stat
- null
- name-only
- name-status
- submodule
- color
- word-diff
- word-diff-regex
- color-words
- no-renames
- check
- ws-error-highlight
- full-index
- binary
- abbrev
- break-rewrites
- find-renames
- find-copies
- find-copies-harder
- irreversible-delete
- limit-find
- diff-filter
- differing-occurrences
- differing-diffs
- pickaxe-all
- pickaxe-regex
- order
- swap
- relative
- text
- ignore-space-at-eol
- ignore-space-change
- ignore-all-space
- ignore-blank-lines
- inter-hunk-context
- function-context
- ext-diff
- textconv
- ignore-submodules
- src-prefix
- dst-prefix
- no-prefix
git show See https://git-scm.com/docs/git-show
-
external function git-show-ref
- &key
- patterns
- head
- tags
- heads
- dereference
- hash
- verify
- abbrev
- quiet
- exclude-existing
git show-ref See https://git-scm.com/docs/git-show-ref
-
external function git-stash
- action
- &key
- message
- patch
- keep-index
- include-untracked
- all
- quiet
git stash See https://git-scm.com/docs/git-stash
-
external function git-status
- paths
- &key
- short
- branch
- porcelain
- long
- verbose
- untracked-files
- ignore-submodules
- ignored
- null
- column
git status See https://git-scm.com/docs/git-status
-
external function git-submodule
- action
- &key
- commit
- paths
- repository
- repository-path
- quiet
- branch
- force
- name
- reference
- depth
- cached
- recursive
- init
- remote
- no-fetch
- rebase
- merge
- files
- summary-limit
git submodule See https://git-scm.com/docs/git-submodule
-
external function git-svn
- command
- &key
- trunk
- tags
- branches
- stdlayout
- no-metadata
- use-svm-props
- use-svnsync-props
- rewrite-root
- rewrite-uuid
- username
- prefix
- ignore-paths
- include-paths
- no-minimize-url
- localtime
- parent
- log-window-size
- preserve-empty-dirs
- placeholder-filename
- local
- no-rebase
- commit-url
- mergeinfo
- interactive
- message
- tag
- destination
- commit-utl
- parents
- revision
- verbose
- limit
- incremental
- show-commit
- oneline
- git-format
- before
- after
- shared
- template
- stdin
- rmdir
- edit
- find-copies-harder
- authors-file
- authors-prof
- quiet
- merge
- strategy
- preserve-merges
- dry-run
- use-log-author
- add-author-from
- id
- svn-remote
- follow-parent
git svn See https://git-scm.com/docs/git-svn
-
external function git-symbolic-ref
- name
- &key
- ref
- delete
- quiet
- short
- message
git symbolic-ref See https://git-scm.com/docs/git-symbolic-ref
-
external function git-tag
- &key
- tags
- commit
- object
- patterns
- annotate
- sign
- local-user
- force
- delete
- verify
- lines
- list
- sort
- column
- contains
- points-at
- message
- file
- cleanup
- format
git tag See https://git-scm.com/docs/git-tag
-
external function git-update-index
- &key
- files
- add
- remove
- refresh
- quiet
- ignore-submodules
- unmerged
- ignore-missing
- cacheinfo
- index-info
- chmod
- assume-unchanged
- really-refresh
- skip-worktree
- again
- unresolve
- info-only
- force-remove
- replace
- stdin
- verbose
- index-version
- null
- split-index
- untracked-cacke
- force-untracked-cache
git update-index See https://git-scm.com/docs/git-update-index
-
external function git-update-ref
- &key
- ref
- newvalue
- oldvalue
- message
- delete
- no-deref
- stdin
- null
git update-ref See https://git-scm.com/docs/git-update-ref
-
external function git-update-server-info
- &key
- force
git update-server-info See https://git-scm.com/docs/git-update-server-info
-
external function git-verify-pack
- packs
- &key
- verbose
- stat-only
git verify-pack See https://git-scm.com/docs/git-verify-pack
-
external function git-write-tree
- &key
- missing-ok
- prefix
git write-tree See https://git-scm.com/docs/git-write-tree
-
external function relative-dir
- relative
- &rest
- subdirs
Get a directory pathname that is SUBDIRS beneath RELATIVE.
-
external function (setf remotes)
- new-remotes
- repo
- &rest
- args
No documentation provided. -
external function run-git
- &rest
- cmdargs
Launches a new git process with the given CMDARGS. See LEGIT:RUN See *GIT-OUTPUT* See *GIT-ERRORS* See *GIT-INPUT*
-
external generic-function add
- repository
- files
- &key
- &allow-other-keys
No documentation provided. -
external generic-function bare-p
- repository
- &key
- &allow-other-keys
Returns T if the REPOSITORY is bare. See GIT-REV-PARSE See REPOSITORY
-
external generic-function branches
- repository
- &key
- &allow-other-keys
Returns a list of branch names for REPOSITORY. See GIT-BRANCH See REPOSITORY
-
external generic-function checkout
- repository
- thing
- &key
- &allow-other-keys
Checks out a specific THING in the repository. This clears the cache. See GIT-CHECKOUT See REPOSITORY See CLEAR-CACHE
-
external generic-function clean
- repository
- &key
- directories
- force
- ignored
- &allow-other-keys
Cleans the repository out. Default extra keyword arguments are DIRECTORIES, FORCE, IGNORED. See GIT-CLEAN See REPOSITORY
-
external generic-function clear-cache
- repository
- &key
- key
- &allow-other-keys
Clears the internal cache on the git repository. Calling this causes subsequent queries against the repository to actually launch a subprocess. This should be called whenever the repository on the file system may have been modified in any way. See REPOSITORY
-
external generic-function clone
- from
- to
- &key
- branch
- bare
- single-branch
- &allow-other-keys
Clone a repository from FROM to TO. Default extra keyword arguments are BRANCH and BARE. See GIT-CLONE
-
external generic-function commit
- repository
- message
- &key
- amend
- &allow-other-keys
No documentation provided. -
external generic-function commit-age
- repository
- commit
- &key
- &allow-other-keys
Returns a universal-time timestamp of when the given commit was made. See GIT-LOG See REPOSITORY
-
external generic-function commit-author
- repository
- commit
- &key
- &allow-other-keys
No documentation provided. -
external generic-function commit-message
- repository
- commit
- &key
- &allow-other-keys
No documentation provided. -
external generic-function commits
- repository
- &key
- &allow-other-keys
Returns the full list of commit hashes on the repository. See GIT-REV-LIST See REPOSITORY
-
external generic-function current-age
- repository
- &key
- &allow-other-keys
Returns the latest commit's age on the current branch of the REPOSITORY as a universal-time timestamp. See GIT-LOG See REPOSITORY
-
external generic-function current-branch
- repository
- &key
- &allow-other-keys
Returns the currently checked out branch of the REPOSITORY. See GIT-REV-PARSE See REPOSITORY
-
external generic-function current-commit
- repository
- &key
- short
- &allow-other-keys
Returns the latest commit hash on the current branch of the REPOSITORY. See GIT-REV-PARSE See REPOSITORY
-
external generic-function current-message
- repository
- &key
- &allow-other-keys
Returns the latest commit's message on the current branch of the REPOSITORY. See GIT-LOG See REPOSITORY
-
external generic-function fetch
- repository
- &key
- remote
- branch
- &allow-other-keys
Fetch the latest commits from upstream. This clears the cache. See GIT-FETCH See REPOSITORY See CLEAR-CACHE
-
external generic-function init
- repository
- &key
- if-does-not-exist
- remote
- branch
- bare
- &allow-other-keys
Initialises the given repository. REPOSITORY can be a pathname or repository. Optionally supplied keyword arguments are by default IF-DOES-NOT-EXIST ::= :error --- Signal an error if it does not exist. | :ignore --- Just return a repository instance. | :create | :init --- Initialise a new, empty repository. | :clone --- Clone a new repository from a remote. REMOTE --- An optional remote path used to clone the repository, if IF-DOES-NOT-EXIST is :CLONE BRANCH --- The branch to use if IF-DOES-NOT-EXIST is :CLONE, :CREATE, or :INIT. BARE --- Whether the repository should be bare if IF-DOES-NOT-EXIST is :CLONE, :CREATE, or :INIT. See REPOSITORY See GIT-INIT See GIT-CHECKOUT See GIT-CLONE
-
external generic-function location
- thing
Attempts to resolve the THING to a pathname. THING can be one of NULL => UIOP:GETCWD PATHNAME => THING STRING => UIOP:PARSE-NATIVE-NAMESTRING This generic function is intended to be extended with methods by the user to allow using objects as locations directly.
-
external generic-function (setf location)
- new-value
- condition
No documentation provided. -
external generic-function map-submodules
- repository
- function
- &key
- &allow-other-keys
Maps FUNCTION over all submodules of REPOSITORY. See SUBDMODULES See REPOSITORY
-
external generic-function pull
- repository
- &key
- refspecs
- remote
- &allow-other-keys
Pull and merge the latest commits from upstream. This clears the cache. See GIT-PULL See REPOSITORY See CLEAR-CACHE
-
external generic-function push
- repository
- &key
- remote
- refspecs
- &allow-other-keys
No documentation provided. -
external generic-function remote-url
- repository
- &key
- remote
- &allow-other-keys
Returns the address of a remote (default "origin") on the REPOSITORY. Accepts a default keyword argument REMOTE. See GIT-CONFIG See REPOSITORY
-
external generic-function remotes
- repository
- &key
- &allow-other-keys
Returns an alist of all remotes on the REPOSITORY. The CAR is the name, the CDR the address. This function is SETF-able, meaning you can PUSH new remotes to it or remove remotes by SETF&REMOVE. It will also gracefully change the address of a remote if it is changed in the setted list. Setting REMOTES clears the cache. See GIT-REMOTE See REPOSITORY See CLEAR-CACHE
-
external generic-function reset
- repository
- &key
- to
- hard
- mixed
- soft
- &allow-other-keys
Resets changes in the repository. Default extra keyword arguments are TO, HARD, MIXED, SOFT. This clears the cache. See GIT-RESET See REPOSITORY See CLEAR-CACHE
-
external generic-function submodules
- repository
- &key
- recursive
- only-existing
- &allow-other-keys
Returns a list of REPOSITORY instances that represent the submodules of REPOSITORY. See GIT-SUBMODULE See REPOSITORY
-
external generic-function tags
- repository
- &key
- &allow-other-keys
Returns a list of tag names for REPOSITORY. See GIT-TAG See REPOSITORY
-
external generic-function valid-location-p
- thing
Checks whether THING is a valid (existing) location. See LOCATION
-
external macro do-submodules
- submodule
- repository
- &rest
- args
- &body
- body
Iterates over all submodules of REPOSITORY. See MAP-SUBMODULES See REPOSITORY
-
external macro git-value
- repository
- name
- &body
- forms
Shorthand macro to handle caching of the value from the git process under NAME.
-
external macro with-chdir
- new-path
- &body
- body