aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/beku/command.go8
-rw-r--r--env.go14
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:
diff --git a/env.go b/env.go
index 0228df8..bdd57f1 100644
--- a/env.go
+++ b/env.go
@@ -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