@@ -225,6 +225,7 @@ fn do_package<'a>(
225
225
226
226
// Packages need to be created in dependency order, because dependencies must
227
227
// be added to our local overlay before we can create lockfiles that depend on them.
228
+ let mut vcs_info_builder = vcs:: VcsInfoBuilder :: new ( ws, opts) ;
228
229
let sorted_pkgs = deps. sort ( ) ;
229
230
let mut outputs: Vec < ( Package , PackageOpts < ' _ > , FileLock ) > = Vec :: new ( ) ;
230
231
for ( pkg, cli_features) in sorted_pkgs {
@@ -233,7 +234,7 @@ fn do_package<'a>(
233
234
to_package : ops:: Packages :: Default ,
234
235
..opts. clone ( )
235
236
} ;
236
- let ar_files = prepare_archive ( ws, & pkg, & opts) ?;
237
+ let ar_files = prepare_archive ( ws, & pkg, & opts, & mut vcs_info_builder ) ?;
237
238
238
239
if opts. list {
239
240
for ar_file in & ar_files {
@@ -368,6 +369,7 @@ fn prepare_archive(
368
369
ws : & Workspace < ' _ > ,
369
370
pkg : & Package ,
370
371
opts : & PackageOpts < ' _ > ,
372
+ vcs_info_builder : & mut vcs:: VcsInfoBuilder < ' _ , ' _ > ,
371
373
) -> CargoResult < Vec < ArchiveFile > > {
372
374
let gctx = ws. gctx ( ) ;
373
375
let mut src = PathSource :: new ( pkg. root ( ) , pkg. package_id ( ) . source_id ( ) , gctx) ;
@@ -386,7 +388,7 @@ fn prepare_archive(
386
388
let src_files = src. list_files ( pkg) ?;
387
389
388
390
// Check (git) repository state, getting the current commit hash.
389
- let vcs_info = vcs :: check_repo_state ( pkg, & src_files, gctx , & opts ) ?;
391
+ let vcs_info = vcs_info_builder . build ( pkg, & src_files) ?;
390
392
391
393
build_ar_list ( ws, pkg, src_files, vcs_info)
392
394
}
0 commit comments