Not always git fetch

This commit is contained in:
mjarkk
2018-12-10 13:45:03 +01:00
parent 50f20de8f3
commit 76e9582739
3 changed files with 45 additions and 39 deletions
+17 -5
View File
@@ -20,6 +20,7 @@ type AppConfig struct {
BuildSource string `long:"build-source" env:"BUILD_SOURCE" default:""`
UserConfig *viper.Viper
AppState *AppState
IsNewRepo bool
}
// AppConfigurer interface allows individual app config structs to inherit Fields
@@ -36,6 +37,8 @@ type AppConfigurer interface {
WriteToUserConfig(string, string) error
SaveAppState() error
LoadAppState() error
SetIsNewRepo(bool)
GetIsNewRepo() bool
}
// NewAppConfig makes a new app config
@@ -54,6 +57,7 @@ func NewAppConfig(name, version, commit, date string, buildSource string, debugg
BuildSource: buildSource,
UserConfig: userConfig,
AppState: &AppState{},
IsNewRepo: false,
}
if err := appConfig.LoadAppState(); err != nil {
@@ -63,6 +67,16 @@ func NewAppConfig(name, version, commit, date string, buildSource string, debugg
return appConfig, nil
}
// GetIsNewRepo returns known repo boolean
func (c *AppConfig) GetIsNewRepo() bool {
return c.IsNewRepo
}
// SetIsNewRepo set if the current repo is known
func (c *AppConfig) SetIsNewRepo(toSet bool) {
c.IsNewRepo = toSet
}
// GetDebug returns debug flag
func (c *AppConfig) GetDebug() bool {
return c.Debug
@@ -153,7 +167,7 @@ func prepareConfigFile(filename string) (string, error) {
}
// LoadAndMergeFile Loads the config/state file, creating
// the file as an empty one if it does not exist
// the file has an empty one if it does not exist
func LoadAndMergeFile(v *viper.Viper, filename string) error {
configPath, err := prepareConfigFile(filename)
if err != nil {
@@ -236,16 +250,14 @@ confirmOnQuit: false
// AppState stores data between runs of the app like when the last update check
// was performed and which other repos have been checked out
type AppState struct {
LastUpdateCheck int64
RecentRepos []string
RecentPrivateRepos []string
LastUpdateCheck int64
RecentRepos []string
}
func getDefaultAppState() []byte {
return []byte(`
lastUpdateCheck: 0
recentRepos: []
recentPrivateRepos: []
`)
}