Lightweight and easily self-hostable Git forge. git.poy.ooo
git-forge selfhosting homebrew
Something went wrong. Try again.
12345678910111213141516171819202122232425262728package ssh
import ( "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}