Logo Partas.TypeProvider

Git Module

Reading of git repository state for the type provider. Structure - ref, remote and submodule *names* - is read straight out of the `.git` directory at design time, so expanding the provided types never spawns a process. Volatile values - shas, dirtiness, anything needing object or history traversal - are deferred to the `Runtime` module, which shells out to `git` in the consuming program instead.

Types and nested modules

Type/Module Description

Config

Minimal (partial grammar support) reader for the git config format.

Runtime

Functions invoked from erased quotations - these run in the *consuming* program, not in the compiler, and must never throw.

Ref

Remote

RepoLayout

Submodule

Functions and values

Function or value Description

discover startDir

Full Usage: discover startDir

Parameters:
    startDir : string

Returns: RepoLayout option

Walks up from `startDir` looking for a working tree.

startDir : string
Returns: RepoLayout option

refsUnder layout prefix

Full Usage: refsUnder layout prefix

Parameters:
Returns: Ref list

All refs under a prefix such as `refs/heads`, with loose refs shadowing anything of the same name in `packed-refs`.

layout : RepoLayout
prefix : string
Returns: Ref list

remotes layout

Full Usage: remotes layout

Parameters:
Returns: Remote list
layout : RepoLayout
Returns: Remote list

repoConfig layout

Full Usage: repoConfig layout

Parameters:
Returns: Entry list
layout : RepoLayout
Returns: Entry list

submodules layout

Full Usage: submodules layout

Parameters:
Returns: Submodule list
layout : RepoLayout
Returns: Submodule list

upstreamOf entries branch

Full Usage: upstreamOf entries branch

Parameters:
    entries : Entry list
    branch : string

Returns: string

The configured upstream of a local branch, in `remote/branch` shorthand.

entries : Entry list
branch : string
Returns: string

Type something to start searching.