{"record":{"id":"c5b98686de45e947","repo":"nikivdev/code","slug":"not-a-git-repository","errorCode":null,"errorMessage":"Not a git repository.","messagePattern":"Not a git repository\\.","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/changes.rs","lineNumber":72,"sourceCode":"            }\n            trace(&format!(\"unroll bundle: {}\", hash));\n            unroll_bundle(&hash)\n        }\n        None => {\n            let env_keys = normalize_env_keys(&cmd.env)?;\n            trace(&format!(\"create bundle (env keys: {})\", env_keys.len()));\n            create_bundle(&env_keys)\n        }\n    }\n}\n\nfn repo_root() -> Result<PathBuf> {\n    let output = Command::new(\"git\")\n        .args([\"rev-parse\", \"--show-toplevel\"])\n        .output()\n        .context(\"failed to run git rev-parse\")?;\n    if !output.status.success() {\n        bail!(\"Not a git repository.\");\n    }\n    let root = String::from_utf8_lossy(&output.stdout).trim().to_string();\n    if root.is_empty() {\n        bail!(\"Unable to resolve git root.\");\n    }\n    trace(&format!(\"repo root: {}\", root));\n    Ok(PathBuf::from(root))\n}\n\nfn git_output_in(repo_root: &Path, args: &[&str]) -> Result<(String, bool)> {\n    let output = Command::new(\"git\")\n        .current_dir(repo_root)\n        .args(args)\n        .output()\n        .with_context(|| format!(\"failed to run git {}\", args.join(\" \")))?;\n    let stdout = String::from_utf8_lossy(&output.stdout).to_string();\n    let stderr = String::from_utf8_lossy(&output.stderr).to_string();\n    let ok = output.status.success();","sourceCodeStart":54,"sourceCodeEnd":90,"githubUrl":"https://github.com/nikivdev/code/blob/a747e741ae92c09071d0ae946ab48488adcff1ce/src/changes.rs#L54-L90","documentation":"Error \"Not a git repository.\" thrown in nikivdev/code.","triggerScenarios":"Thrown at src/changes.rs:72 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a747e741ae92c09071d0ae946ab48488adcff1ce","analyzedAt":"2026-09-01T22:43:55.719Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}