{"record":{"id":"777b5d1657b4867f","repo":"argoproj/argo-workflows","slug":"failed-to-get-resolve-revision-w","errorCode":null,"errorMessage":"failed to get resolve revision: %w","messagePattern":"failed to get resolve revision: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"workflow/artifacts/git/git.go","lineNumber":186,"sourceCode":"\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to get work tree: %w\", err)\n\t}\n\n\tif a.Revision != \"\" {\n\t\trefSpecs := []config.RefSpec{\"refs/heads/*:refs/heads/*\"}\n\t\tif a.SingleBranch {\n\t\t\trefSpecs = []config.RefSpec{config.RefSpec(fmt.Sprintf(\"refs/heads/%s:refs/heads/%s\", a.Branch, a.Branch))}\n\t\t}\n\t\topts := &git.FetchOptions{Auth: auth, RefSpecs: refSpecs, InsecureSkipTLS: g.InsecureSkipTLS}\n\t\tif err := opts.Validate(); err != nil {\n\t\t\treturn fmt.Errorf(\"failed to validate fetch %v: %w\", refSpecs, err)\n\t\t}\n\t\tif err := r.Fetch(opts); isFetchErr(err) {\n\t\t\treturn fmt.Errorf(\"failed to fetch %v: %w\", refSpecs, err)\n\t\t}\n\t\th, err := r.ResolveRevision(plumbing.Revision(a.Revision))\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"failed to get resolve revision: %w\", err)\n\t\t}\n\t\tif err := w.Checkout(&git.CheckoutOptions{Hash: plumbing.NewHash(h.String())}); err != nil {\n\t\t\treturn fmt.Errorf(\"failed to checkout %q: %w\", h, err)\n\t\t}\n\t}\n\tif !a.DisableSubmodules {\n\t\ts, err := w.Submodules()\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"failed to get submodules: %w\", err)\n\t\t}\n\t\tif err := s.Update(&git.SubmoduleUpdateOptions{\n\t\t\tInit:              true,\n\t\t\tRecurseSubmodules: git.DefaultSubmoduleRecursionDepth,\n\t\t\tAuth:              auth,\n\t\t}); err != nil {\n\t\t\treturn fmt.Errorf(\"failed to update submodules: %w\", err)\n\t\t}\n\t}","sourceCodeStart":168,"sourceCodeEnd":204,"githubUrl":"https://github.com/argoproj/argo-workflows/blob/35bff19146f5a6ada77468c431f2624bd577e373/workflow/artifacts/git/git.go#L168-L204","documentation":"git artifact Load with a revision set: ResolveRevision could not resolve the requested revision (branch, tag, or commit) to a hash after fetching. The revision likely does not exist on the remote or is misspelled.","triggerScenarios":"Thrown at workflow/artifacts/git/git.go:186 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the revision exists on the remote (git ls-remote)","For single-branch clones, ensure the branch is fetched before resolving its commits"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"35bff19146f5a6ada77468c431f2624bd577e373","analyzedAt":"2026-09-03T19:34:35.908Z","contentChangedAt":"2026-09-03T19:34:35.908Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}