package main import "strings" type Repo struct { URL string `yaml:"url"` Repo string `yaml:"repo"` Branch string `yaml:"branch"` Authentication string `yaml:"authentication"` CookieName string `yaml:"cookieName"` CookieValue string `yaml:"cookieValue"` } func (r *Repo) FullURL() string { return strings.TrimSuffix(r.URL, "/") + "/" + r.Repo } type Workstreams struct { OnlyIfTouching []string `yaml:"onlyIfTouching"` NeverModify []string `yaml:"neverModify"` } type sites struct { Upstream Repo Downstream Repo } type configFormat struct { Sites sites `yaml:"sites"` Workstreams map[string]Workstreams `yaml:"workstreams"` }