Skip to content

Unexpected Deleted event for crate "dl" #20

@jonhoo

Description

@jonhoo

With this program:

use crates_index_diff::{Change, Index};

fn main() {
    let index = Index::from_path_or_cloned("crates.io-index").unwrap();
    let changes = index
        .changes(
            "feeacd1f399c353d020e7b9e0ddaf4b0628f9476",
            "c3d8f6d10335e8eb076dd594ec6d82e3f58ba24a",
        )
        .unwrap();
    for change in changes {
        match &change {
            Change::Added(cv) if cv.name == "dl" => {}
            Change::Yanked(cv) if cv.name == "dl" => {}
            Change::Deleted { name, .. } if name == "dl" => {}
            _ => continue,
        }

        eprintln!("{:?}", change);
    }
}

I get the result:

$ git clone "https://github.com/rust-lang/crates.io-index.git"
$ cargo run --release
...
     Running `target/release/deleted-unexpectedly`
Deleted { name: "dl" }

However, dl is present in both commits (in from / in to) with no changes in between.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions