package main import ( "flag" "fmt" "os" "gopkg.in/yaml.v2" ) func main() { dir := flag.String("dir", "repo", "path to local git repo") configFile := flag.String("config", "config.yaml", "path to configuration") flag.Parse() file, err := os.Open(*configFile) if err != nil { panic(fmt.Sprintf("Could not open '%s': %s", *configFile, err)) } defer file.Close() cfg := new(configFormat) configDecoder := yaml.NewDecoder(file) err = configDecoder.Decode(&cfg) if err != nil { panic(fmt.Sprintf("Failed parsing '%s': %s", *configFile, err)) } repo := openRepo(dir, cfg) fmt.Println(repo) }