{"record":{"id":"2d0d6a4ea6decf2a","repo":"jdx/mise","slug":"a-repository-url-is-required","errorCode":null,"errorMessage":"a repository url is required","messagePattern":"a repository url is required","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/system/history/sync/origin.rs","lineNumber":74,"sourceCode":"            );\n            return Err(match result {\n                Err(err) => err.wrap_err(message),\n                Ok(()) => eyre::eyre!(message),\n            });\n        }\n    }\n    result\n}\n\nasync fn set_inner(\n    store: &Store,\n    tracked: &TrackedSet,\n    opts: &SetOptions,\n    accepted: &mut bool,\n    preview_lock: &mut Option<fslock::LockFile>,\n) -> Result<()> {\n    if opts.url.trim().is_empty() {\n        bail!(\"a repository url is required\");\n    }\n    let repo = store\n        .repo()\n        .ok_or_else(|| eyre::eyre!(\"connecting a setup repository requires git\"))?;\n    let state_dir = store.state_dir();\n    // This is the disposable preview repository. The connected repository's\n    // remote-tracking ref remains untouched unless the connection is confirmed.\n    let remote = Remote::new(repo, &opts.url);\n    if !remote.fetch(&opts.branch)? && repo.ref_oid(UPSTREAM_REF)?.is_some() {\n        repo.delete_ref(UPSTREAM_REF)?;\n    }\n    let upstream = repo.ref_oid(UPSTREAM_REF)?;\n    let repo_state = format::detect(repo, upstream.as_deref())?;\n    repo_state.check()?;\n\n    run::capture_now(store, tracked);\n    let shared = share::current(repo, tracked)?;\n    // the connection as it was: another repository or branch starts from a","sourceCodeStart":56,"sourceCodeEnd":92,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/system/history/sync/origin.rs#L56-L92","documentation":"Input validation in origin set_inner(): the URL passed to `mise bootstrap dotfiles origin set` was empty or whitespace after trimming, so there is no repository to connect to. Fires on `... origin set \"\"` or a missing argument.","triggerScenarios":"Thrown at src/system/history/sync/origin.rs:74 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Supply a valid repository URL to `origin set`","Use `origin --remove` instead if the intent was to disconnect","Re-run set with a non-empty trimmed URL"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"afd2eddd3a50c16190efc1c7e94404b48f72af57","analyzedAt":"2026-09-09T01:38:25.179Z","contentChangedAt":"2026-09-09T01:38:25.179Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}