package main import ( "errors" "log" "flag" ) const ( SCORSH_ERR_NO_FILE = -(1 << iota) SCORSH_ERR_KEYRING SCORSH_ERR_NO_REPO SCORSH_ERR_NO_COMMIT SCORSH_ERR_SIGNATURE ) type SCORSHmsg struct { repo string branch string old_rev string new_rev string } var conf_file = flag.String("c", "./scorsh.cfg", "Configuration file for SCORSH") func SCORSHErr(err int) error { var err_str string switch err { case SCORSH_ERR_NO_FILE: err_str = "Invalid file name" case SCORSH_ERR_KEYRING: err_str = "Invalid keyring" case SCORSH_ERR_NO_REPO: err_str = "Invalid repository" case SCORSH_ERR_NO_COMMIT: err_str = "Invalid commit ID" case SCORSH_ERR_SIGNATURE: err_str = "Invalid signature" default: err_str = "Generic Error" } return errors.New(err_str) } func main() { flag.Parse() cfg := ReadGlobalConfig(*conf_file) msg, status := StartWorkers(cfg) log.Printf("%s\n", cfg) }