// Add a push refspec to a remote. Return true if added. // @return result.Result<bool, error> func AddPush(repo *git.Repository, remote *git.Remote, pushRef string) result.Result { p := result.NewResult(remote.PushRefspecs()) return p.FlatMap(func(pushes interface{}) result.Result { if !contains(pushes.([]string), pushRef) { return BoolResult(true, repo.Remotes.AddPush(remote.Name(), pushRef)) } return result.NewSuccess(false) }) }