More Options To Specify Repo (#178)
use active user as owner by default Fix #163 Part1 Co-authored-by: 6543 <6543@obermui.de> Reviewed-on: https://gitea.com/gitea/tea/pulls/178 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Reviewed-by: mrsdizzie <info@mrsdizzie.com>
This commit is contained in:
parent
f47ac8f96e
commit
3c1bcdb1e2
|
@ -100,12 +100,15 @@ func init() {
|
|||
yamlConfigPath = filepath.Join(dir, "tea.yml")
|
||||
}
|
||||
|
||||
func splitRepo(repoPath string) (string, string) {
|
||||
func getOwnerAndRepo(repoPath, user string) (string, string) {
|
||||
if len(repoPath) == 0 {
|
||||
return "", ""
|
||||
}
|
||||
p := strings.Split(repoPath, "/")
|
||||
if len(p) >= 2 {
|
||||
return p[0], p[1]
|
||||
}
|
||||
return repoPath, ""
|
||||
return user, repoPath
|
||||
}
|
||||
|
||||
func getActiveLogin() (*Login, error) {
|
||||
|
|
21
cmd/flags.go
21
cmd/flags.go
|
@ -7,6 +7,8 @@ package cmd
|
|||
import (
|
||||
"log"
|
||||
|
||||
"code.gitea.io/tea/modules/utils"
|
||||
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
|
@ -81,16 +83,31 @@ var AllDefaultFlags = append([]cli.Flag{
|
|||
|
||||
// initCommand returns repository and *Login based on flags
|
||||
func initCommand() (*Login, string, string) {
|
||||
var (
|
||||
login *Login
|
||||
repoPath string
|
||||
)
|
||||
err := loadConfig(yamlConfigPath)
|
||||
if err != nil {
|
||||
log.Fatal("load config file failed ", yamlConfigPath)
|
||||
}
|
||||
|
||||
login, repoPath, err := curGitRepoPath(repoValue)
|
||||
if login, err = getActiveLogin(); err != nil {
|
||||
log.Fatal(err.Error())
|
||||
}
|
||||
|
||||
exist, err := utils.PathExists(repoValue)
|
||||
if err != nil {
|
||||
log.Fatal(err.Error())
|
||||
}
|
||||
|
||||
if exist || len(repoValue) == 0 {
|
||||
login, repoPath, err = curGitRepoPath(repoValue)
|
||||
if err != nil {
|
||||
log.Fatal(err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
if loginValue != "" {
|
||||
login = getLoginByName(loginValue)
|
||||
if login == nil {
|
||||
|
@ -98,7 +115,7 @@ func initCommand() (*Login, string, string) {
|
|||
}
|
||||
}
|
||||
|
||||
owner, repo := splitRepo(repoPath)
|
||||
owner, repo := getOwnerAndRepo(repoPath, login.User)
|
||||
return login, owner, repo
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright 2020 The Gitea Authors. All rights reserved.
|
||||
// Use of this source code is governed by a MIT-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package utils
|
||||
|
||||
import (
|
||||
"os"
|
||||
)
|
||||
|
||||
// PathExists returns whether the given file or directory exists or not
|
||||
func PathExists(path string) (bool, error) {
|
||||
_, err := os.Stat(path)
|
||||
if err == nil {
|
||||
return true, nil
|
||||
}
|
||||
if os.IsNotExist(err) {
|
||||
return false, nil
|
||||
}
|
||||
return true, err
|
||||
}
|
Loading…
Reference in New Issue