diff --git a/src/cargo/ops/cargo_package.rs b/src/cargo/ops/cargo_package.rs index 67be829fa57..90d1187904f 100644 --- a/src/cargo/ops/cargo_package.rs +++ b/src/cargo/ops/cargo_package.rs @@ -76,6 +76,7 @@ struct GitVcsInfo { pub fn package_one( ws: &Workspace<'_>, pkg: &Package, + repo: Option<&git2::Repository>, opts: &PackageOpts<'_>, ) -> CargoResult> { let config = ws.config(); @@ -96,9 +97,9 @@ pub fn package_one( // Check (git) repository state, getting the current commit hash if not // dirty. - let vcs_info = if !opts.allow_dirty { + let vcs_info = if repo.is_some() && !opts.allow_dirty { // This will error if a dirty repo is found. - check_repo_state(pkg, &src_files, config)? + check_repo_state(repo.unwrap(), pkg, &src_files, config)? } else { None }; @@ -165,9 +166,11 @@ pub fn package(ws: &Workspace<'_>, opts: &PackageOpts<'_>) -> CargoResult