MCPcopy Create free account
hub / github.com/dagger/dagger / DecodePersistedObject

Method DecodePersistedObject

core/git.go:383–405  ·  view source on GitHub ↗
(ctx context.Context, dag *dagql.Server, _ uint64, _ *dagql.ResultCall, payload json.RawMessage)

Source from the content-addressed store, hash-verified

381}
382
383func (*GitRef) DecodePersistedObject(ctx context.Context, dag *dagql.Server, _ uint64, _ *dagql.ResultCall, payload json.RawMessage) (dagql.Typed, error) {
384 var persisted persistedGitRefPayload
385 if err := json.Unmarshal(payload, &persisted); err != nil {
386 return nil, fmt.Errorf("decode persisted git ref payload: %w", err)
387 }
388 repo, err := loadPersistedObjectResultByResultID[*GitRepository](ctx, dag, persisted.RepoResultID, "git ref repo")
389 if err != nil {
390 return nil, err
391 }
392 ref := &gitutil.Ref{
393 Name: persisted.Name,
394 SHA: persisted.SHA,
395 }
396 backend, err := repo.Self().Backend.Get(ctx, ref)
397 if err != nil {
398 return nil, err
399 }
400 return &GitRef{
401 Repo: repo,
402 Backend: backend,
403 Ref: ref,
404 }, nil
405}
406
407func (ref *GitRef) Tree(ctx context.Context, srv *dagql.Server, discardGitDir bool, depth int, includeTags bool) (*Directory, error) {
408 return ref.Backend.Tree(ctx, srv, ref.Repo.Self().DiscardGitDir || discardGitDir, depth, includeTags)

Callers

nothing calls this directly

Calls 3

SelfMethod · 0.80
UnmarshalMethod · 0.65
GetMethod · 0.65

Tested by

no test coverage detected