pijul nest
guest [sign in]

Strongly connected components with extra dependencies

pmeunier
Aug 16, 2025, 3:17 PM
EDGJMZX6B2IR6X6KQ4TMBA2KH4KWJ5VDHAVJLV6AL5JK4U6ESHYAC

Dependencies

  • [2] KBT6MOT5 Including the link_extra files in blake3sums
  • [3] ODUDDQRY Adding the OCaml interface
  • [4] BDEVQIAU Handle cyclic Ubuntu dependencies
  • [5] LIUJQXB7 Allow merging two packages based on regular expressions of their name
  • [6] UWQB743K First working shell (with ocaml code)
  • [*] SI454P2V Documentation and cleanup

Change contents

  • replacement in src/extract.rs at line 174
    [3.1705][3.1705:1789]()
    let f = finalize(&mut vertices, client, link_extra, &files, *v).await?;
    [3.1705]
    [3.3202]
    let f = finalize(&mut vertices, &sccs, client, link_extra, &files, *v).await?;
  • edit in src/extract.rs at line 269
    [8.3617]
    [3.19756]
    file: &Path,
  • replacement in src/extract.rs at line 283
    [3.24134][3.24134:24171]()
    Err(e) => return Err(e),
    [3.24134]
    [3.24171]
    Err(e) => {
    return Err(e);
    }
  • edit in src/extract.rs at line 410
    [2.160]
    [2.160]
    debug!("hash context {:?} {:?}", vertices[v].pkg.package, s);
  • edit in src/extract.rs at line 695
    [3.7612]
    [3.7612]
    sccs: &[Vec<usize>],
  • edit in src/extract.rs at line 806
    [3.10400]
    [3.10400]
    sccs,
  • replacement in src/extract.rs at line 834
    [3.10690][3.10690:10744]()
    hash_reader(file, &mut output_hasher).await?;
    [3.10690]
    [3.35650]
    hash_reader(&blakesums, file, &mut output_hasher).await?;
  • replacement in src/extract.rs at line 884
    [3.10672][3.10672:10735]()
    if let Ok(mut dir) = tokio::fs::read_dir(&elt).await {
    [3.10672]
    [3.10735]
    let dir = tokio::fs::read_dir(&elt).await;
    debug!("copy {:?}", dir);
    if let Ok(mut dir) = dir {
  • replacement in src/extract.rs at line 903
    [2.710][2.710:755]()
    info!("hashing {:?}", to_p);
    [2.710]
    [2.755]
    info!("copy, hashing {:?}", to_p);
  • replacement in src/extract.rs at line 906
    [2.886][2.886:953]()
    hash_reader(file, &mut hasher).await.unwrap();
    [2.886]
    [2.953]
    hash_reader(&to_p, file, &mut hasher).await.unwrap();
  • edit in src/extract.rs at line 922
    [3.11301]
    [3.11301]
    sccs: &[Vec<usize>],
  • edit in src/extract.rs at line 935
    [3.11688]
    [2.1186]
    let scc = vertices[v].scc;
  • replacement in src/extract.rs at line 940
    [3.11774][3.11774:12050](),[3.12050][2.1221:1445]()
    for d in (0..v).rev() {
    if dep.is_match(vertices[d].pkg.package) {
    debug!(
    "match, copying {:?} to {:?}",
    vertices[d].context_path, vertices[v].context_path
    );
    copy(
    &mut hashing,
    &vertices[d].context_path.clone().unwrap(),
    &tmp.dir_path(),
    )
    .await?;
    [3.11774]
    [3.32085]
    for s in &sccs[..scc] {
    for &d in s.iter() {
    if dep.is_match(vertices[d].pkg.package) {
    debug!(
    "match, copying {:?} to {:?}",
    vertices[d], vertices[v].context_path
    );
    copy(
    &mut hashing,
    &vertices[d].context_path.clone().unwrap(),
    &tmp.dir_path(),
    )
    .await?;
    }
  • replacement in src/extract.rs at line 1011
    [3.14234][3.14234:14272]()
    info!("hashing {:?}", f);
    [3.14234]
    [3.14272]
    info!("create_final_path: hashing {:?}", f);
  • replacement in src/extract.rs at line 1014
    [3.14400][3.14400:14463]()
    hash_reader(file, &mut hasher).await.unwrap();
    [3.14400]
    [3.14463]
    hash_reader(&dest_path, file, &mut hasher).await.unwrap();