mirror of
				https://gitea.com/gitea/tea.git
				synced 2025-10-30 16:55:25 +01:00 
			
		
		
		
	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:
		| @@ -100,12 +100,15 @@ func init() { | |||||||
| 	yamlConfigPath = filepath.Join(dir, "tea.yml") | 	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, "/") | 	p := strings.Split(repoPath, "/") | ||||||
| 	if len(p) >= 2 { | 	if len(p) >= 2 { | ||||||
| 		return p[0], p[1] | 		return p[0], p[1] | ||||||
| 	} | 	} | ||||||
| 	return repoPath, "" | 	return user, repoPath | ||||||
| } | } | ||||||
|  |  | ||||||
| func getActiveLogin() (*Login, error) { | func getActiveLogin() (*Login, error) { | ||||||
|   | |||||||
							
								
								
									
										21
									
								
								cmd/flags.go
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								cmd/flags.go
									
									
									
									
									
								
							| @@ -7,6 +7,8 @@ package cmd | |||||||
| import ( | import ( | ||||||
| 	"log" | 	"log" | ||||||
|  |  | ||||||
|  | 	"code.gitea.io/tea/modules/utils" | ||||||
|  |  | ||||||
| 	"github.com/urfave/cli/v2" | 	"github.com/urfave/cli/v2" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| @@ -81,16 +83,31 @@ var AllDefaultFlags = append([]cli.Flag{ | |||||||
|  |  | ||||||
| // initCommand returns repository and *Login based on flags | // initCommand returns repository and *Login based on flags | ||||||
| func initCommand() (*Login, string, string) { | func initCommand() (*Login, string, string) { | ||||||
|  | 	var ( | ||||||
|  | 		login    *Login | ||||||
|  | 		repoPath string | ||||||
|  | 	) | ||||||
| 	err := loadConfig(yamlConfigPath) | 	err := loadConfig(yamlConfigPath) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Fatal("load config file failed ", yamlConfigPath) | 		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 { | 	if err != nil { | ||||||
| 		log.Fatal(err.Error()) | 		log.Fatal(err.Error()) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	if exist || len(repoValue) == 0 { | ||||||
|  | 		login, repoPath, err = curGitRepoPath(repoValue) | ||||||
|  | 		if err != nil { | ||||||
|  | 			log.Fatal(err.Error()) | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	if loginValue != "" { | 	if loginValue != "" { | ||||||
| 		login = getLoginByName(loginValue) | 		login = getLoginByName(loginValue) | ||||||
| 		if login == nil { | 		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 | 	return login, owner, repo | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										21
									
								
								modules/utils/path.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								modules/utils/path.go
									
									
									
									
									
										Normal file
									
								
							| @@ -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 | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user
	 6543
					6543