MCPcopy
hub / github.com/go-git/go-git / Remove

Method Remove

worktree_status.go:584–604  ·  view source on GitHub ↗

Remove removes files from the working tree and from the index.

(path string)

Source from the content-addressed store, hash-verified

582
583// Remove removes files from the working tree and from the index.
584func (w *Worktree) Remove(path string) (plumbing.Hash, error) {
585 // TODO(mcuadros): remove plumbing.Hash from signature at v5.
586 idx, err := w.r.Storer.Index()
587 if err != nil {
588 return plumbing.ZeroHash, err
589 }
590
591 var h plumbing.Hash
592
593 fi, err := w.Filesystem.Lstat(path)
594 if err != nil || !fi.IsDir() {
595 h, err = w.doRemoveFile(idx, path)
596 } else {
597 _, err = w.doRemoveDirectory(idx, path)
598 }
599 if err != nil {
600 return h, err
601 }
602
603 return h, w.r.Storer.SetIndex(idx)
604}
605
606func (w *Worktree) doRemoveDirectory(idx *index.Index, directory string) (removed bool, err error) {
607 files, err := w.Filesystem.ReadDir(directory)

Callers 8

TestRemoveMethod · 0.95
TestRemoveDirectoryMethod · 0.95
removeEmptyDirectoryMethod · 0.45
deleteFromIndexMethod · 0.45
deleteFromFilesystemMethod · 0.45

Calls 6

doRemoveFileMethod · 0.95
doRemoveDirectoryMethod · 0.95
IndexMethod · 0.65
IsDirMethod · 0.65
SetIndexMethod · 0.65
LstatMethod · 0.45

Tested by 5

TestRemoveMethod · 0.76
TestRemoveDirectoryMethod · 0.76