Versions in this module Expand all Collapse all v0 v0.1.0 Jul 8, 2015 Changes in this version + var ErrorInvalidHandshake = errors.New("invalid handshake from client") + var ErrorInvalidHaveLine = errors.New("invalid `have` line sent by client") + var ErrorInvalidPushRefsLine = errors.New("invalid line sent by client during ref update") + var ErrorInvalidWantLine = errors.New("invalid `want` line sent by client") + var ErrorNoHead = errors.New("no HEAD in repo") + type Decoder interface + Decode func(*[]byte) error + Read func(p []byte) (n int, err error) + type Encoder interface + Encode func([]byte) error + type GitOperation int + const GitPull + const GitPush + type GitRequestHandler struct + func NewGitRequestHandler(out Encoder, in Decoder, repo git.Repo) *GitRequestHandler + func (h *GitRequestHandler) NegotiatePullPackfile(revisions []git.Revision) (int, error) + func (h *GitRequestHandler) ReceiveHandshake() (GitOperation, error) + func (h *GitRequestHandler) ReceivePullWants() ([]string, error) + func (h *GitRequestHandler) ReceivePushRefs() ([]RefUpdate, error) + func (h *GitRequestHandler) SendPackfile(r io.Reader) error + func (h *GitRequestHandler) SendRefs(refs map[string]string, op GitOperation) error + func (h *GitRequestHandler) ServeRequest() error + type RefUpdate struct + Name string + NewID string + OldID string