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

Method checkoutChangeSubmodule

worktree.go:563–594  ·  view source on GitHub ↗
(name string,
	a merkletrie.Action,
	e *object.TreeEntry,
	idx *indexBuilder,
)

Source from the content-addressed store, hash-verified

561}
562
563func (w *Worktree) checkoutChangeSubmodule(name string,
564 a merkletrie.Action,
565 e *object.TreeEntry,
566 idx *indexBuilder,
567) error {
568 switch a {
569 case merkletrie.Modify:
570 sub, err := w.Submodule(name)
571 if err != nil {
572 return err
573 }
574
575 if !sub.initialized {
576 return nil
577 }
578
579 return w.addIndexFromTreeEntry(name, e, idx)
580 case merkletrie.Insert:
581 mode, err := e.Mode.ToOSFileMode()
582 if err != nil {
583 return err
584 }
585
586 if err := w.Filesystem.MkdirAll(name, mode); err != nil {
587 return err
588 }
589
590 return w.addIndexFromTreeEntry(name, e, idx)
591 }
592
593 return nil
594}
595
596func (w *Worktree) checkoutChangeRegularFile(name string,
597 a merkletrie.Action,

Callers 1

checkoutChangeMethod · 0.95

Calls 4

SubmoduleMethod · 0.95
addIndexFromTreeEntryMethod · 0.95
ToOSFileModeMethod · 0.80
MkdirAllMethod · 0.45

Tested by

no test coverage detected