Skip to content

Commit 374dfd6

Browse files
David Tolnaymeta-codesync[bot]
authored andcommitted
Skip second filter during checksum insertion
Summary: Since {D113687583}, checksum-excluded files are no longer present during the checksum calculation because they would not have been unpacked. No need to check a second time for `checksum_excluded` before inserting into `file_cksums`. Reviewed By: cjlongoria Differential Revision: D113706836 fbshipit-source-id: 91f8c794d7231df654e5907030a7436130c1df5a
1 parent 861a0cd commit 374dfd6

2 files changed

Lines changed: 6 additions & 84 deletions

File tree

src/fast_vendor.rs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -683,15 +683,6 @@ fn process_expected_crate(
683683
Ok(())
684684
}
685685

686-
fn checksum_excluded(
687-
config: &Config,
688-
pkgdir: &Path,
689-
relative: &Path,
690-
filter: &VendorFilter,
691-
) -> bool {
692-
is_split_buck_file(config, relative) || gitignore_excluded(pkgdir, relative, filter)
693-
}
694-
695686
fn materialization_excluded(
696687
config: &Config,
697688
pkgdir: &Path,

src/fast_vendor/fingerprint.rs

Lines changed: 6 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ use crate::fast_vendor::ExpectedCrate;
2323
use crate::fast_vendor::SYNTHESIZED_BUILD_RS;
2424
use crate::fast_vendor::bytes_sha256;
2525
use crate::fast_vendor::cargo_checksum::checksum_json_bytes;
26-
use crate::fast_vendor::checksum_excluded;
2726
use crate::fast_vendor::file_sha256;
2827
use crate::fast_vendor::filter::VendorFilter;
2928
use crate::fast_vendor::is_split_buck_file;
@@ -149,15 +148,7 @@ fn expected_registry_archive_fingerprint(
149148
}
150149
}
151150
fingerprint.insert(key.clone(), TreeEntryFingerprint::File(hash.clone()));
152-
maybe_insert_checksum(
153-
config,
154-
&mut file_cksums,
155-
&expected.pkgdir,
156-
relative,
157-
&key,
158-
&hash,
159-
filter,
160-
);
151+
file_cksums.insert(key, hash);
161152
} else if entry_type.is_symlink() {
162153
let target = entry
163154
.link_name()
@@ -172,15 +163,7 @@ fn expected_registry_archive_fingerprint(
172163
}
173164
}
174165

175-
finish_expected_fingerprint(
176-
config,
177-
fingerprint,
178-
file_cksums,
179-
&expected.pkgdir,
180-
filter,
181-
pkg_cksum,
182-
cargo_toml.as_deref(),
183-
)
166+
finish_expected_fingerprint(fingerprint, file_cksums, pkg_cksum, cargo_toml.as_deref())
184167
}
185168

186169
fn expected_copy_source_fingerprint(
@@ -224,45 +207,19 @@ fn expected_copy_source_fingerprint(
224207
}
225208
}
226209
fingerprint.insert(key.clone(), TreeEntryFingerprint::File(hash.clone()));
227-
maybe_insert_checksum(
228-
config,
229-
&mut file_cksums,
230-
pkgdir,
231-
relative,
232-
&key,
233-
&hash,
234-
filter,
235-
);
210+
file_cksums.insert(key, hash);
236211
}
237212

238-
finish_expected_fingerprint(
239-
config,
240-
fingerprint,
241-
file_cksums,
242-
pkgdir,
243-
filter,
244-
pkg_cksum,
245-
cargo_toml.as_deref(),
246-
)
213+
finish_expected_fingerprint(fingerprint, file_cksums, pkg_cksum, cargo_toml.as_deref())
247214
}
248215

249216
fn finish_expected_fingerprint(
250-
config: &Config,
251217
mut fingerprint: BTreeMap<String, TreeEntryFingerprint>,
252218
mut file_cksums: BTreeMap<String, String>,
253-
pkgdir: &Path,
254-
filter: &VendorFilter,
255219
pkg_cksum: Option<&str>,
256220
cargo_toml: Option<&str>,
257221
) -> anyhow::Result<BTreeMap<String, TreeEntryFingerprint>> {
258-
synthesize_missing_build_rs_fingerprint(
259-
config,
260-
&mut fingerprint,
261-
&mut file_cksums,
262-
pkgdir,
263-
filter,
264-
cargo_toml,
265-
)?;
222+
synthesize_missing_build_rs_fingerprint(&mut fingerprint, &mut file_cksums, cargo_toml)?;
266223
let checksum_json = checksum_json_bytes(pkg_cksum, &file_cksums)?;
267224
fingerprint.insert(
268225
".cargo-checksum.json".to_owned(),
@@ -272,11 +229,8 @@ fn finish_expected_fingerprint(
272229
}
273230

274231
fn synthesize_missing_build_rs_fingerprint(
275-
config: &Config,
276232
fingerprint: &mut BTreeMap<String, TreeEntryFingerprint>,
277233
file_cksums: &mut BTreeMap<String, String>,
278-
pkgdir: &Path,
279-
filter: &VendorFilter,
280234
cargo_toml: Option<&str>,
281235
) -> anyhow::Result<()> {
282236
type TomlManifest = cargo_toml::Manifest<serde::de::IgnoredAny>;
@@ -301,33 +255,10 @@ fn synthesize_missing_build_rs_fingerprint(
301255

302256
let hash = bytes_sha256(SYNTHESIZED_BUILD_RS);
303257
fingerprint.insert(key.clone(), TreeEntryFingerprint::File(hash.clone()));
304-
maybe_insert_checksum(
305-
config,
306-
file_cksums,
307-
pkgdir,
308-
&build_script_path,
309-
&key,
310-
&hash,
311-
filter,
312-
);
258+
file_cksums.insert(key, hash);
313259
Ok(())
314260
}
315261

316-
fn maybe_insert_checksum(
317-
config: &Config,
318-
file_cksums: &mut BTreeMap<String, String>,
319-
pkgdir: &Path,
320-
relative: &Path,
321-
key: &str,
322-
hash: &str,
323-
filter: &VendorFilter,
324-
) {
325-
if checksum_excluded(config, pkgdir, relative, filter) {
326-
return;
327-
}
328-
file_cksums.insert(key.to_owned(), hash.to_owned());
329-
}
330-
331262
fn path_key(path: &Path) -> anyhow::Result<String> {
332263
let Some(path) = path.to_str() else {
333264
bail!("non-UTF8 vendor path {}", path.display());

0 commit comments

Comments
 (0)