diff options
| -rw-r--r-- | cmd/beku/command.go | 8 | ||||
| -rw-r--r-- | env.go | 14 |
2 files changed, 13 insertions, 9 deletions
diff --git a/cmd/beku/command.go b/cmd/beku/command.go index 4c8e16b..8383016 100644 --- a/cmd/beku/command.go +++ b/cmd/beku/command.go @@ -315,7 +315,7 @@ func (cmd *command) sync() (err error) { var ok bool if cmd.firstTime { - ok, err = cmd.env.Rescan() + ok, err = cmd.env.Rescan(true) if !ok || err != nil { return } @@ -323,7 +323,11 @@ func (cmd *command) sync() (err error) { switch len(cmd.pkgs) { case 0: - if cmd.op&opUpdate > 0 { + if cmd.op&opUpdate == 0 { + if !cmd.firstTime { + _, err = cmd.env.Rescan(false) + } + } else { err = cmd.env.SyncAll() } case 1: @@ -605,7 +605,7 @@ func (env *Env) Query(pkgs []string) { // // Rescan GOPATH for new packages. // -func (env *Env) Rescan() (ok bool, err error) { +func (env *Env) Rescan(firstTime bool) (ok bool, err error) { err = env.Scan() if err != nil { return @@ -639,7 +639,11 @@ func (env *Env) Rescan() (ok bool, err error) { } if env.countUpdate == 0 && env.countNew == 0 { - fmt.Println(">>> Database and GOPATH is in sync.") + if firstTime { + env.dirty = true + } else { + fmt.Println(">>> Database and GOPATH is in sync.") + } return true, nil } @@ -865,15 +869,11 @@ func (env *Env) Save(file string) (err error) { } if Debug >= DebugL1 { - fmt.Println(">>> Saving db", file) + fmt.Println(">>> Saving database:", file) } dir := filepath.Dir(file) - if Debug >= DebugL1 { - fmt.Println(">>> Save: MkdirAll:", dir) - } - err = os.MkdirAll(dir, 0700) if err != nil { return |
