MCPcopy
hub / github.com/docker/compose / checkout

Method checkout

pkg/remote/git.go:195–228  ·  view source on GitHub ↗
(ctx context.Context, path string, ref *gitutil.GitRef)

Source from the content-addressed store, hash-verified

193}
194
195func (g gitRemoteLoader) checkout(ctx context.Context, path string, ref *gitutil.GitRef) error {
196 err := os.MkdirAll(path, 0o700)
197 if err != nil {
198 return err
199 }
200 err = exec.CommandContext(ctx, "git", "init", path).Run()
201 if err != nil {
202 return err
203 }
204
205 cmd := exec.CommandContext(ctx, "git", "remote", "add", "origin", ref.Remote)
206 cmd.Dir = path
207 err = cmd.Run()
208 if err != nil {
209 return err
210 }
211
212 cmd = exec.CommandContext(ctx, "git", "fetch", "--depth=1", "origin", ref.Ref)
213 cmd.Env = g.gitCommandEnv()
214 cmd.Dir = path
215
216 err = g.run(cmd)
217 if err != nil {
218 return err
219 }
220
221 cmd = exec.CommandContext(ctx, "git", "checkout", ref.Ref)
222 cmd.Dir = path
223 err = cmd.Run()
224 if err != nil {
225 return err
226 }
227 return nil
228}
229
230func (g gitRemoteLoader) run(cmd *exec.Cmd) error {
231 if logrus.IsLevelEnabled(logrus.DebugLevel) {

Callers 1

LoadMethod · 0.95

Calls 3

gitCommandEnvMethod · 0.95
runMethod · 0.95
MkdirAllMethod · 0.80

Tested by

no test coverage detected