mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-08-10 22:42:00 +02:00
Merge pull request #1969 from mark2185/fix-windows-create-new-git-repo
This commit is contained in:
@@ -145,6 +145,11 @@ func isGitVersionValid(versionStr string) bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func isDirectoryAGitRepository(dir string) (bool, error) {
|
||||||
|
info, err := os.Stat(filepath.Join(dir, ".git"))
|
||||||
|
return info != nil && info.IsDir(), err
|
||||||
|
}
|
||||||
|
|
||||||
func (app *App) setupRepo() (bool, error) {
|
func (app *App) setupRepo() (bool, error) {
|
||||||
if err := app.validateGitVersion(); err != nil {
|
if err := app.validateGitVersion(); err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
@@ -161,9 +166,8 @@ func (app *App) setupRepo() (bool, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
info, _ := os.Stat(filepath.Join(cwd, ".git"))
|
if isRepo, err := isDirectoryAGitRepository(cwd); isRepo {
|
||||||
if info != nil && info.IsDir() {
|
return false, err
|
||||||
return false, err // Current directory appears to be a git repository.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
shouldInitRepo := true
|
shouldInitRepo := true
|
||||||
@@ -172,7 +176,7 @@ func (app *App) setupRepo() (bool, error) {
|
|||||||
// Offer to initialize a new repository in current directory.
|
// Offer to initialize a new repository in current directory.
|
||||||
fmt.Print(app.Tr.CreateRepo)
|
fmt.Print(app.Tr.CreateRepo)
|
||||||
response, _ := bufio.NewReader(os.Stdin).ReadString('\n')
|
response, _ := bufio.NewReader(os.Stdin).ReadString('\n')
|
||||||
if strings.Trim(response, " \n") != "y" {
|
if strings.Trim(response, " \r\n") != "y" {
|
||||||
shouldInitRepo = false
|
shouldInitRepo = false
|
||||||
}
|
}
|
||||||
} else if notARepository == "skip" {
|
} else if notARepository == "skip" {
|
||||||
@@ -181,12 +185,9 @@ func (app *App) setupRepo() (bool, error) {
|
|||||||
|
|
||||||
if !shouldInitRepo {
|
if !shouldInitRepo {
|
||||||
// check if we have a recent repo we can open
|
// check if we have a recent repo we can open
|
||||||
recentRepos := app.Config.GetAppState().RecentRepos
|
for _, repoDir := range app.Config.GetAppState().RecentRepos {
|
||||||
if len(recentRepos) > 0 {
|
if isRepo, _ := isDirectoryAGitRepository(repoDir); isRepo {
|
||||||
var err error
|
if err := os.Chdir(repoDir); err == nil {
|
||||||
// try opening each repo in turn, in case any have been deleted
|
|
||||||
for _, repoDir := range recentRepos {
|
|
||||||
if err = os.Chdir(repoDir); err == nil {
|
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -110,6 +110,9 @@ func newRecentReposList(recentRepos []string, currentRepo string) (bool, []strin
|
|||||||
newRepos := []string{currentRepo}
|
newRepos := []string{currentRepo}
|
||||||
for _, repo := range recentRepos {
|
for _, repo := range recentRepos {
|
||||||
if repo != currentRepo {
|
if repo != currentRepo {
|
||||||
|
if _, err := os.Stat(repo); err != nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
newRepos = append(newRepos, repo)
|
newRepos = append(newRepos, repo)
|
||||||
} else {
|
} else {
|
||||||
isNew = false
|
isNew = false
|
||||||
|
Reference in New Issue
Block a user