Documentation
¶
Overview ¶
Package backend provides shared logic for the gitgres CLI and remote-helper: URL parsing (ParseURL), ref listing (ListRefs), and copying objects/refs between a local go-git repo and a Postgres storer (CopyObjectsFromRepoToStorer, etc.).
Index ¶
- func CopyFromStorerToRepo(ctx context.Context, pgStorer *storer.PostgresStorer, repo *git.Repository) (objN, refN int, err error)
- func CopyObjectsFromRepoToStorer(repo *git.Repository, pgStorer *storer.PostgresStorer) (int, error)
- func CopyRefsFromRepoToStorer(repo *git.Repository, pgStorer *storer.PostgresStorer) (int, error)
- func ParseURL(url string) (conninfo, reponame string, err error)
- type RefLine
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CopyFromStorerToRepo ¶
func CopyFromStorerToRepo(ctx context.Context, pgStorer *storer.PostgresStorer, repo *git.Repository) (objN, refN int, err error)
CopyFromStorerToRepo copies all objects and refs from the Postgres storer into the repo. Returns (objectCount, refCount, error).
func CopyObjectsFromRepoToStorer ¶
func CopyObjectsFromRepoToStorer(repo *git.Repository, pgStorer *storer.PostgresStorer) (int, error)
CopyObjectsFromRepoToStorer copies all objects from a local repo into the Postgres storer. Returns the number of objects copied.
func CopyRefsFromRepoToStorer ¶
func CopyRefsFromRepoToStorer(repo *git.Repository, pgStorer *storer.PostgresStorer) (int, error)
CopyRefsFromRepoToStorer copies all refs from a local repo into the Postgres storer. Returns the number of refs copied.
Types ¶
type RefLine ¶
type RefLine struct {
Hash string // object ID for hash refs
Name string // ref name, e.g. refs/heads/main
Symbolic string // target ref name for symbolic refs
}
RefLine is one ref for listing. For hash refs, Hash is set and Symbolic is empty; for symbolic refs, Symbolic is the target name and Hash is empty. Name is always set.