1package root 2 3import ( 4 "context" 5 6 "github.com/gopasspw/gopass/internal/backend" 7 "github.com/gopasspw/gopass/pkg/debug" 8) 9 10// Convert will try to convert a given mount to a different set of 11// backends. 12func (r *Store) Convert(ctx context.Context, name string, cryptoBe backend.CryptoBackend, storageBe backend.StorageBackend, move bool) error { 13 sub, err := r.GetSubStore(name) 14 if err != nil { 15 return err 16 } 17 debug.Log("converting %s to crypto: %s, rcs: %s, storage: %s", name, cryptoBe, storageBe) 18 if err := sub.Convert(ctx, cryptoBe, storageBe, move); err != nil { 19 return err 20 } 21 if name == "" { 22 debug.Log("success. updating root path to %s", sub.Path()) 23 r.cfg.Path = sub.Path() 24 } else { 25 debug.Log("success. updating path for %s to %s", name, sub.Path()) 26 r.cfg.Mounts[name] = sub.Path() 27 } 28 29 return r.cfg.Save() 30} 31