github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/gnovm/pkg/gnoenv/migration.go (about)

     1  package gnoenv
     2  
     3  import (
     4  	"log"
     5  	"os"
     6  	"path/filepath"
     7  )
     8  
     9  // XXX: added april 2023 as a transitory measure - remove after test4
    10  func fixOldDefaultGnoHome(newDir string) {
    11  	dir, err := os.UserHomeDir()
    12  	if err != nil {
    13  		return
    14  	}
    15  	oldDir := filepath.Join(dir, ".gno")
    16  	s, err := os.Stat(oldDir)
    17  	if err != nil || !s.IsDir() {
    18  		return
    19  	}
    20  	if err = os.Rename(oldDir, newDir); err != nil {
    21  		if os.IsExist(err) {
    22  			log.Printf("WARNING: attempted moving old default GNO_HOME (%q) to new (%q) but failed because directory exists.", oldDir, newDir)
    23  			log.Printf("You may need to move files from the old directory manually, or set the env var GNO_HOME to %q to retain the old directory.", oldDir)
    24  		} else {
    25  			log.Printf("WARNING: attempted moving old default GNO_HOME (%q) to new (%q) but failed with error: %v", oldDir, newDir, err)
    26  		}
    27  	}
    28  }