Skip to content
go-libfossil Artifact [bc838cdca8]
Login

Artifact [bc838cdca8]

Artifact bc838cdca872fa88188a521fe38829b1a3de024a42d916945ce251e5a07335bb:


package cli

import "fmt"

// RepoRenameCmd renames a tracked file in the checkout and on disk.
type RepoRenameCmd struct {
	From string `arg:"" help:"Current file name"`
	To   string `arg:"" help:"New file name"`
	Dir  string `short:"d" help:"Checkout directory" default:"."`
}

func (c *RepoRenameCmd) Run(g *Globals) (err error) {
	_, co, done, err := openWorkingCheckout(g, c.Dir)
	if err != nil {
		return err
	}
	defer closeWith(done, &err)

	if err := co.Rename(c.From, c.To); err != nil {
		return err
	}
	fmt.Printf("RENAMED  %s -> %s\n", c.From, c.To)
	return nil
}