Personal Git forge.

Code git clone ssh://git.poy.ooo:6969/~poyo/farga ZIP
ssh/parse.go / 655B #2298022f
Raw
package sshimport (	"errors"	"regexp")type GitCommand struct {	Command string	Args    string}var ErrInvalidCommand = errors.New("Not a Git command.")// git-upload-pack 'user_loves_bananas/website'var gitCommandRx = regexp.MustCompile(`^(git-upload-pack|git-receive-pack|git-upload-archive) '~([A-Za-z0-9_][A-Za-z0-9_.-]*/[A-Za-z0-9_][A-Za-z0-9_.-]*)'$`)func parseGitCommand(raw string) (GitCommand, error) {	matches := gitCommandRx.FindStringSubmatch(raw)	if matches == nil {		return GitCommand{}, ErrInvalidCommand	}	return GitCommand{		Command: matches[1],		Args:    matches[2], // guaranteed to be in "user/repo" form	}, nil}