Skip to content
go-libfossil Artifact [f924e2e77b]
Login

Artifact [f924e2e77b]

Artifact f924e2e77bb9e1ddaf170a8f91504ee8653dee41cbbdfa80270eb1be415d2dbd:


package cli

import "fmt"

// RepoRmCmd stages files for removal from the checkout.
type RepoRmCmd struct {
	Files []string `arg:"" required:"" help:"Files to stage for removal"`
	Dir   string   `short:"d" help:"Checkout directory" default:"."`
}

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

	for _, name := range c.Files {
		if err := co.Remove([]string{name}); err != nil {
			return err
		}
		fmt.Printf("REMOVED  %s\n", name)
	}
	return nil
}