Version: v4.7.0+incompatible Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Sep 6, 2018 License: Apache-2.0 Imports: 15 Imported by: 0



Package server implements the git server protocol. For most use cases, the transport-specific implementations should be used.



This section is empty.


View Source
var DefaultLoader = NewFilesystemLoader(osfs.New(""))

DefaultLoader is a filesystem loader ignoring host and resolving paths to /.

View Source
var DefaultServer = NewServer(DefaultLoader)
View Source
var (
	ErrUpdateReference = errors.New("failed to update ref")


func NewClient

func NewClient(loader Loader) transport.Transport

NewClient returns a transport.Transport implementing a client with an embedded server.

func NewServer

func NewServer(loader Loader) transport.Transport

NewServer returns a transport.Transport implementing a git server, independent of transport. Each transport must wrap this.


type Loader

type Loader interface {
	// Load loads a storer.Storer given a transport.Endpoint.
	// Returns transport.ErrRepositoryNotFound if the repository does not
	// exist.
	Load(ep *transport.Endpoint) (storer.Storer, error)

Loader loads repository's storer.Storer based on an optional host and a path.

func NewFilesystemLoader

func NewFilesystemLoader(base billy.Filesystem) Loader

NewFilesystemLoader creates a Loader that ignores host and resolves paths with a given base filesystem.

type MapLoader

type MapLoader map[string]storer.Storer

MapLoader is a Loader that uses a lookup map of storer.Storer by transport.Endpoint.

func (MapLoader) Load

func (l MapLoader) Load(ep *transport.Endpoint) (storer.Storer, error)

Load returns a storer.Storer for given a transport.Endpoint by looking it up in the map. Returns transport.ErrRepositoryNotFound if the endpoint does not exist.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL