package git import ( "strings" "github.com/go-git/go-git/v5" "github.com/go-git/go-git/v5/config" "github.com/sirupsen/logrus" ) // CreateRemote creates a new git remote in a repository func CreateRemote(repo *git.Repository, name, url string, dryRun bool) error { if dryRun { logrus.Infof("dry run: remote %s (%s) not created", name, url) return nil } if _, err := repo.CreateRemote(&config.RemoteConfig{ Name: name, URLs: []string{url}, }); err != nil { if !strings.Contains(err.Error(), "remote already exists") { return err } } return nil }