Files
Dominik Schulz 5eceae1f86 Try gocritic (#2169)
RELEASE_NOTES=n/a

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2022-03-17 21:07:55 +01:00

35 lines
836 B
Go

package action
import (
"fmt"
"github.com/gopasspw/gopass/internal/action/exit"
"github.com/gopasspw/gopass/pkg/ctxutil"
"github.com/gopasspw/gopass/pkg/termio"
"github.com/urfave/cli/v2"
)
// Move the content from one secret to another.
func (s *Action) Move(c *cli.Context) error {
ctx := ctxutil.WithGlobalFlags(c)
if c.Args().Len() != 2 {
return exit.Error(exit.Usage, nil, "Usage: %s mv old-path new-path", s.Name)
}
from := c.Args().Get(0)
to := c.Args().Get(1)
if !c.Bool("force") {
if s.Store.Exists(ctx, to) && !termio.AskForConfirmation(ctx, fmt.Sprintf("%s already exists. Overwrite it?", to)) {
return exit.Error(exit.Aborted, nil, "not overwriting your current secret")
}
}
if err := s.Store.Move(ctx, from, to); err != nil {
return exit.Error(exit.Unknown, err, "%s", err)
}
return nil
}