提交 2fc08c1b 编写于 作者: J Jingwen Owen Ou

Change all reference to GitHubProject

上级 84743b5e
......@@ -77,34 +77,6 @@ func (git *Git) EditorPath() (string, error) {
return editorPath, nil
}
func (git *Git) Owner() (string, error) {
remote, err := git.Remote()
if err != nil {
return "", err
}
url, err := mustMatchGitUrl(remote)
if err != nil {
return "", err
}
return url[1], nil
}
func (git *Git) Project() (string, error) {
remote, err := git.Remote()
if err != nil {
return "", err
}
url, err := mustMatchGitUrl(remote)
if err != nil {
return "", err
}
return url[2], nil
}
func (git *Git) Head() (string, error) {
output, err := git.execGitCmd([]string{"symbolic-ref", "-q", "--short", "HEAD"})
if err != nil {
......
......@@ -55,18 +55,8 @@ func NewGitHub() *GitHub {
auth = config.Token
}
if len(user) == 0 {
owner, err := git.Owner()
if err != nil {
// prompt for user
log.Fatal(err)
}
user = owner
}
if len(auth) > 0 {
auth = "token " + auth
if auth != "" {
auth = fmt.Sprintf("token %s", auth)
}
return &GitHub{&http.Client{}, user, "", auth}
......@@ -85,7 +75,17 @@ type GitHub struct {
}
func (gh *GitHub) performBasicAuth() error {
msg := fmt.Sprintf("%s password for %s (never stored): ", GitHubHost, gh.User)
user := gh.User
if user == "" {
user = CurrentProject().Owner
gh.User = user
}
if user == "" {
// TODO: prompt user
log.Fatal("TODO: prompt user for basic auth")
}
msg := fmt.Sprintf("%s password for %s (never stored): ", GitHubHost, user)
fmt.Print(msg)
pass := gopass.GetPasswd()
......@@ -291,14 +291,14 @@ type PullRequestResponse struct {
IssueUrl string `json:"issue_url"`
}
func (gh *GitHub) CreatePullRequest(owner, repo string, params PullRequestParams) (*PullRequestResponse, error) {
func (gh *GitHub) CreatePullRequest(project *GitHubProject, params PullRequestParams) (*PullRequestResponse, error) {
b, err := json.Marshal(params)
if err != nil {
return nil, err
}
buffer := bytes.NewBuffer(b)
url := fmt.Sprintf("/repos/%s/%s/pulls", owner, repo)
url := fmt.Sprintf("/repos/%s/%s/pulls", project.Owner, project.Name)
response, err := gh.httpPost(url, nil, buffer)
if err != nil {
return nil, err
......
......@@ -12,6 +12,6 @@ func _TestCreatePullRequest(t *testing.T) {
client := &http.Client{}
gh := GitHub{client, "jingweno", "123", config.Token}
params := PullRequestParams{"title", "body", "jingweno:master", "jingweno:pull_request"}
_, err := gh.CreatePullRequest("jingweno", "gh", params)
_, err := gh.CreatePullRequest(CurrentProject(), params)
assert.Equal(t, nil, err)
}
......@@ -44,18 +44,6 @@ func TestGitRemote(t *testing.T) {
assert.T(t, strings.Contains(gitRemote, "jingweno/gh.git"))
}
func TestGitOwner(t *testing.T) {
git := setupGit()
gitOwner, _ := git.Owner()
assert.Equal(t, "jingweno", gitOwner)
}
func TestGitProject(t *testing.T) {
git := setupGit()
gitProject, _ := git.Project()
assert.Equal(t, "gh", gitProject)
}
func TestGitHead(t *testing.T) {
git := setupGit()
gitHead, _ := git.Head()
......
......@@ -60,7 +60,7 @@ func pullRequest(cmd *Command, args []string) {
params := PullRequestParams{title, body, repo.Base, repo.Head}
gh := NewGitHub()
pullRequestResponse, err := gh.CreatePullRequest(repo.Owner, repo.Project, params)
pullRequestResponse, err := gh.CreatePullRequest(repo.Project, params)
check(err)
fmt.Println(pullRequestResponse.HtmlUrl)
......
......@@ -5,17 +5,16 @@ import (
)
type Repo struct {
Owner string
Project string
Base string
Head string
Project *GitHubProject
}
func (r *Repo) FullBase() string {
if strings.Contains(r.Base, ":") {
return r.Base
} else {
return r.Owner + ":" + r.Base
return r.Project.Owner + ":" + r.Base
}
}
......@@ -23,7 +22,7 @@ func (r *Repo) FullHead() string {
if strings.Contains(r.Head, ":") {
return r.Head
} else {
return r.Owner + ":" + r.Head
return r.Project.Owner + ":" + r.Head
}
}
......@@ -35,8 +34,7 @@ func NewRepo(base, head string) *Repo {
head, _ = git.Head()
}
owner, _ := git.Owner()
project, _ := git.Project()
project := CurrentProject()
return &Repo{owner, project, base, head}
return &Repo{base, head, project}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册