Fix Login Detection By Repo Param (#151)
Fix login detection by Repo param Co-authored-by: 6543 <6543@obermui.de> Reviewed-on: https://gitea.com/gitea/tea/pulls/151 Reviewed-by: lafriks <lafriks@noreply.gitea.io> Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
parent
19ee32168e
commit
2135af0304
|
@ -189,10 +189,13 @@ func saveConfig(ymlPath string) error {
|
|||
return ioutil.WriteFile(ymlPath, bs, 0660)
|
||||
}
|
||||
|
||||
func curGitRepoPath() (*Login, string, error) {
|
||||
repo, err := git.RepoForWorkdir()
|
||||
if err != nil {
|
||||
return nil, "", errors.New("No Gitea login found")
|
||||
func curGitRepoPath(path string) (*Login, string, error) {
|
||||
var err error
|
||||
var repo *git.TeaRepo
|
||||
if len(path) == 0 {
|
||||
repo, err = git.RepoForWorkdir()
|
||||
} else {
|
||||
repo, err = git.RepoFromPath(path)
|
||||
}
|
||||
gitConfig, err := repo.Config()
|
||||
if err != nil {
|
||||
|
|
|
@ -81,15 +81,10 @@ var AllDefaultFlags = append([]cli.Flag{
|
|||
|
||||
// initCommand returns repository and *Login based on flags
|
||||
func initCommand() (*Login, string, string) {
|
||||
login := initCommandLoginOnly()
|
||||
|
||||
var err error
|
||||
repoPath := repoValue
|
||||
if repoPath == "" {
|
||||
login, repoPath, err = curGitRepoPath()
|
||||
login, repoPath, err := curGitRepoPath(repoValue)
|
||||
if err != nil {
|
||||
log.Fatal(err.Error())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
owner, repo := splitRepo(repoPath)
|
||||
|
|
|
@ -25,3 +25,15 @@ func RepoForWorkdir() (*TeaRepo, error) {
|
|||
|
||||
return &TeaRepo{repo}, nil
|
||||
}
|
||||
|
||||
// RepoFromPath tries to open the git repository by path
|
||||
func RepoFromPath(path string) (*TeaRepo, error) {
|
||||
repo, err := git.PlainOpenWithOptions(path, &git.PlainOpenOptions{
|
||||
DetectDotGit: true,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &TeaRepo{repo}, nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue