mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-06-06 23:46:13 +02:00
Only show private repo popup when opening repo for first time
This commit is contained in:
parent
6d0fa8bc29
commit
ced81e11f0
@ -238,12 +238,14 @@ confirmOnQuit: false
|
|||||||
type AppState struct {
|
type AppState struct {
|
||||||
LastUpdateCheck int64
|
LastUpdateCheck int64
|
||||||
RecentRepos []string
|
RecentRepos []string
|
||||||
|
RecentPrivateRepos []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func getDefaultAppState() []byte {
|
func getDefaultAppState() []byte {
|
||||||
return []byte(`
|
return []byte(`
|
||||||
lastUpdateCheck: 0
|
lastUpdateCheck: 0
|
||||||
recentRepos: []
|
recentRepos: []
|
||||||
|
RecentPrivateRepos: []
|
||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -443,7 +443,7 @@ func (gui *Gui) Run() error {
|
|||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
err := gui.fetch(g, g.CurrentView(), false)
|
err := gui.fetch(g, g.CurrentView(), false)
|
||||||
if err != nil && strings.Contains(err.Error(), "exit status 128") {
|
if err != nil && strings.Contains(err.Error(), "exit status 128") && gui.canShowIsPrivateRepo() {
|
||||||
_ = gui.createConfirmationPanel(g, g.CurrentView(), gui.Tr.SLocalize("NoAutomaticGitFetchTitle"), gui.Tr.SLocalize("NoAutomaticGitFetchBody"), nil, nil)
|
_ = gui.createConfirmationPanel(g, g.CurrentView(), gui.Tr.SLocalize("NoAutomaticGitFetchTitle"), gui.Tr.SLocalize("NoAutomaticGitFetchBody"), nil, nil)
|
||||||
} else {
|
} else {
|
||||||
gui.goEvery(g, time.Second*60, func(g *gocui.Gui) error {
|
gui.goEvery(g, time.Second*60, func(g *gocui.Gui) error {
|
||||||
|
@ -59,6 +59,24 @@ func (gui *Gui) updateRecentRepoList() error {
|
|||||||
return gui.Config.SaveAppState()
|
return gui.Config.SaveAppState()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// canShowIsPrivateRepo returns true if a private repo is never opend before in lazygit
|
||||||
|
func (gui *Gui) canShowIsPrivateRepo() bool {
|
||||||
|
repos := gui.Config.GetAppState().RecentPrivateRepos
|
||||||
|
currentRepo, err := os.Getwd()
|
||||||
|
for _, repo := range repos {
|
||||||
|
if currentRepo == repo {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if err != nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
gui.Config.GetAppState().RecentPrivateRepos = newRecentReposList(repos, currentRepo)
|
||||||
|
_ = gui.Config.SaveAppState()
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
// newRecentReposList returns a new repo list with a new entry but only when it doesn't exist yet
|
||||||
func newRecentReposList(recentRepos []string, currentRepo string) []string {
|
func newRecentReposList(recentRepos []string, currentRepo string) []string {
|
||||||
newRepos := []string{currentRepo}
|
newRepos := []string{currentRepo}
|
||||||
for _, repo := range recentRepos {
|
for _, repo := range recentRepos {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user