summaryrefslogtreecommitdiff
path: root/pkg/app/app.go
diff options
context:
space:
mode:
authorIbrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>2018-12-09 03:28:31 +0300
committerIbrahim Serdar Acikgoz <serdaracikgoz86@gmail.com>2018-12-09 03:28:31 +0300
commitad96d97d0262df1e1ab3b054b8d2600c8d821d42 (patch)
treef79da661cf2d7cdad2fdec1ad8e68e1e518ecab1 /pkg/app/app.go
parentadded sync to remote branches with git fetch prune (diff)
downloadgitbatch-ad96d97d0262df1e1ab3b054b8d2600c8d821d42.tar.gz
added config file option and some minor bugfixes
Diffstat (limited to 'pkg/app/app.go')
-rw-r--r--pkg/app/app.go25
1 files changed, 22 insertions, 3 deletions
diff --git a/pkg/app/app.go b/pkg/app/app.go
index 624b048..e281abc 100644
--- a/pkg/app/app.go
+++ b/pkg/app/app.go
@@ -1,6 +1,8 @@
package app
import (
+ "os"
+
"github.com/isacikgoz/gitbatch/pkg/gui"
log "github.com/sirupsen/logrus"
)
@@ -14,13 +16,30 @@ type App struct {
// Setup will handle pre-required operations. It is designed to be a wrapper for
// main method right now.
-func Setup(directory, repoPattern, logLevel string) (*App, error) {
+func Setup(directory, repoPattern, logLevel string, ignoreConfig bool) (*App, error) {
// initiate the app and give it initial values
app := &App{}
- app.Config, _ = LoadConfiguration()
setLogLevel(logLevel)
var err error
- directories := generateDirectories(directory, repoPattern)
+ app.Config, err = LoadConfiguration()
+ if err != nil {
+ // the error types and handling is not considered yer
+ log.Error(err)
+ return app, err
+ }
+ workingDirectory, _ := os.Getwd()
+
+ directories := make([]string, 0)
+ if len(app.Config.Directories) <= 0 || ignoreConfig ||
+ (workingDirectory != directory && len(app.Config.Directories) > 0 ){
+ directories = generateDirectories(directory, repoPattern)
+ } else {
+ for _, dir := range app.Config.Directories {
+ for _, d := range generateDirectories(dir, repoPattern) {
+ directories = append(directories, d)
+ }
+ }
+ }
// create a gui.Gui struct and set it as App's gui
app.Gui, err = gui.NewGui(app.Config.Mode, directories)