)]}'
{
  "commit": "39c8faefb5e9bf1265cf754f43a17a4ac092d7a3",
  "tree": "94de4b8f674d9ad1a672bc0b1b250f3bce578e97",
  "parents": [
    "907d2bbb80d6180fa27a719536844fd096fa0157"
  ],
  "author": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Thu Oct 24 11:33:07 2024 +0200"
  },
  "committer": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Tue Nov 05 14:18:16 2024 +0100"
  },
  "message": "rust: create a cargo workspace\n\nWorkspaces allows tracking dependencies for multiple crates at once,\nby having a single Cargo.lock file at the top of the rust/ tree.\nBecause QEMU\u0027s Cargo.lock files have to be synchronized with the versions\nof crates in subprojects/, using a workspace avoids the need to copy\nover the Cargo.lock file when adding a new device (and thus a new crate)\nunder rust/hw/.\n\nIn addition, workspaces let cargo download and build dependencies just\nonce.  While right now we have one leaf crate (hw/char/pl011), this\nwill not be the case once more devices are added.\n\nReviewed-by: Zhao Liu \u003czhao1.liu@intel.com\u003e\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "rename",
      "old_id": "9f43b33e8b891f94988c23db3ad26532c4430ab8",
      "old_mode": 33188,
      "old_path": "rust/hw/char/pl011/Cargo.lock",
      "new_id": "9f43b33e8b891f94988c23db3ad26532c4430ab8",
      "new_mode": 33188,
      "new_path": "rust/Cargo.lock",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0c94d5037da08ae4fb3bf1df0cef06fd942fcb8b",
      "new_mode": 33188,
      "new_path": "rust/Cargo.toml"
    },
    {
      "type": "modify",
      "old_id": "b089e3dded623131ee13b4af8145b84388755df7",
      "old_mode": 33188,
      "old_path": "rust/hw/char/pl011/Cargo.toml",
      "new_id": "a373906b9fb30906bbc543a11066b087dfd5107e",
      "new_mode": 33188,
      "new_path": "rust/hw/char/pl011/Cargo.toml"
    },
    {
      "type": "delete",
      "old_id": "73c334e7ce96d861d12de41ea67188194e27fdcf",
      "old_mode": 33188,
      "old_path": "rust/qemu-api-macros/Cargo.lock",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "144cc3650fa04b2fa35a1185d970e1bab210a4eb",
      "old_mode": 33188,
      "old_path": "rust/qemu-api-macros/Cargo.toml",
      "new_id": "f8d6d03609fc7f3bf2682088d2ceb5e5016b2928",
      "new_mode": 33188,
      "new_path": "rust/qemu-api-macros/Cargo.toml"
    },
    {
      "type": "delete",
      "old_id": "e407911cdd1863774419c66bcc8d0b6092f9e86d",
      "old_mode": 33188,
      "old_path": "rust/qemu-api/Cargo.lock",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "db594c64083215c69bcca6b9d4387192e68fe5b4",
      "old_mode": 33188,
      "old_path": "rust/qemu-api/Cargo.toml",
      "new_id": "e092f61e8f3d6dc138c4caa5f65afb1963f83098",
      "new_mode": 33188,
      "new_path": "rust/qemu-api/Cargo.toml"
    }
  ]
}
