)]}'
{
  "log": [
    {
      "commit": "9f9fba1c44901bd12b7fd4c3193435a02bbbbf0e",
      "tree": "4f9ca5cdff7c3b3d98085f9da562dfc5cb18292c",
      "parents": [
        "5e3347ef4b09456d5e7570fa608dd90416683ff5"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Thu Jan 26 22:56:28 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jan 26 22:56:28 2023 +0000"
      },
      "message": "Fix clippy lint warnings\n\nChange-Id: I6bfbbb2a9f164105dcedd2c2ac53093211c35137\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/126918\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\nPigweed-Auto-Submit: Alexei Frolov \u003cfrolv@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@pigweed.google.com.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5e3347ef4b09456d5e7570fa608dd90416683ff5",
      "tree": "6addd8fdb75b23085e3e90bf72fe89129a91e18a",
      "parents": [
        "4b2a998bd161860eedf4c5d355aa4eb340a53e38"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Wed Jan 25 23:02:46 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jan 25 23:02:46 2023 +0000"
      },
      "message": "Add command to execute single target\n\nThis implements a basic \"do\" subcommand which runs a single target in\nthe build graph with all of its dependencies.\n\nChange-Id: I75bd6558662fe0eafa5e1a82a855f112b63aa524\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/126910\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "4b2a998bd161860eedf4c5d355aa4eb340a53e38",
      "tree": "b5bc7ad5baaeccad3fdd555d85ffdc3f463fc1b4",
      "parents": [
        "5baa939210bcb9a10e6497e2d3799c722c293761"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Tue Jan 24 22:09:16 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jan 24 22:09:16 2023 +0000"
      },
      "message": "Add support for canonical output and work directories\n\nChange-Id: Ie8038805822fca12d387f577f39c654e4949b526\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/126668\nPigweed-Auto-Submit: Erik Gilling \u003ckonkers@google.com\u003e\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\nCommit-Queue: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "5baa939210bcb9a10e6497e2d3799c722c293761",
      "tree": "9685b2999624e3f0ac2753e716db404aa0538757",
      "parents": [
        "a9651277600caae7f840f38aa21ec88f71477052"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Tue Jan 24 22:03:22 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jan 24 22:03:22 2023 +0000"
      },
      "message": "Add TestProject wrapper for mutable tests.\n\nChange-Id: I1e03bc8fbb78411375777388620f522cde12b21f\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/126771\nCommit-Queue: Erik Gilling \u003ckonkers@google.com\u003e\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "a9651277600caae7f840f38aa21ec88f71477052",
      "tree": "7b139602f57c9af32fa5e20ea369a0d2f026b323",
      "parents": [
        "dbfd26ea4dbd1501b1222ce3ac555d662b2f5752"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Tue Jan 24 20:52:47 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jan 24 20:52:47 2023 +0000"
      },
      "message": "Implement download targets\n\nThis adds code to build a downloadable target\u0027s URL, download its\ncontent, and write it to a local file.\n\nChange-Id: Ie2c9238278ff735cc2f35c2ad08c10595fc3694f\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/126224\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "dbfd26ea4dbd1501b1222ce3ac555d662b2f5752",
      "tree": "c18e6203bd6dd7875f4cbf62bc269a34c472c785",
      "parents": [
        "754df5ee4f701f836dc97b250b0e70e84335fb47"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Fri Jan 13 20:42:57 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 13 20:42:57 2023 +0000"
      },
      "message": "Add target Executor\n\nChange-Id: If8e511224515e6b7b87fc69322938d4a6a289611\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/126257\nPigweed-Auto-Submit: Erik Gilling \u003ckonkers@google.com\u003e\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@pigweed.google.com.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "754df5ee4f701f836dc97b250b0e70e84335fb47",
      "tree": "b021c1378b93a11d01feb253275bb26d8839df7f",
      "parents": [
        "df504823a7d488fd9109e1e5aeaba9f8fd902ad8"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Thu Jan 12 21:05:52 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jan 12 21:05:52 2023 +0000"
      },
      "message": "Add digests to download targets\n\nThis updates the definition of download targets within a manifest to\ninclude a `digest` field, specifying what checksum should be calculated\non the downloaded file.\n\nChange-Id: Ic3139f389ef47ab69c390b5b4729d6641e7970b8\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/126212\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "df504823a7d488fd9109e1e5aeaba9f8fd902ad8",
      "tree": "515d127ae53836199670c088fb34e3476dd3aa2f",
      "parents": [
        "b0212f80e285ecef8dfd9af3ca0e3e01a169d58f"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Wed Jan 11 23:01:21 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jan 11 23:01:21 2023 +0000"
      },
      "message": "registry: Add get_target method\n\nThis adds a registry method to look up a target by name.\n\nChange-Id: I55fb075e84014e9d5461fea06fe798eebeb58856\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/126223\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "b0212f80e285ecef8dfd9af3ca0e3e01a169d58f",
      "tree": "8cfe93af3036d3713505fee2481820e80a162325",
      "parents": [
        "97e859671891e77522ff2ef96416693eada3ffec"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Wed Jan 11 20:41:30 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jan 11 20:41:30 2023 +0000"
      },
      "message": "Remove lazy loading of registry\n\nThis removes the need for interior mutability and makes the Project\nSend + Sync.\n\nChange-Id: I4fe3004f33e0d3502e4ea99a974603605183acdf\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/126423\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\nCommit-Queue: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "97e859671891e77522ff2ef96416693eada3ffec",
      "tree": "8e6dfbbc42458dfd1f5bceba63c6f47dae9ee3a5",
      "parents": [
        "9037d97aa1f6155063ef8ba28b7207a8aec21d95"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Sat Jan 07 00:33:59 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Jan 07 00:33:59 2023 +0000"
      },
      "message": "Use an `ExactSizeIterator` for target dependency enumeration\n\nAllows code to check `target.dependencies().len()`.\n\nChange-Id: I44c0a616e06928764ffbf744ff3eb5a6fd2888c8\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/126256\nCommit-Queue: Auto-Submit \u003cauto-submit@pigweed.google.com.iam.gserviceaccount.com\u003e\nPigweed-Auto-Submit: Erik Gilling \u003ckonkers@google.com\u003e\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "9037d97aa1f6155063ef8ba28b7207a8aec21d95",
      "tree": "4eb433fe52abfe6f5037cee0dd16d42e42f45fd8",
      "parents": [
        "e01e988b1aee9431304ee75a70340d3704ccad8f"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Sat Jan 07 00:30:13 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Jan 07 00:30:13 2023 +0000"
      },
      "message": "Add `StringErrorPlaceholder` error variant\n\nAllows some context to be passed in placeholder errors.  Like\n.exepect() instead of .unwrap() (GenericErrorPlaceholder).\n\nChange-Id: I3d4027560b55a6b8879db62402a5f752e6c520c4\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/126255\nPigweed-Auto-Submit: Erik Gilling \u003ckonkers@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@pigweed.google.com.iam.gserviceaccount.com\u003e\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "e01e988b1aee9431304ee75a70340d3704ccad8f",
      "tree": "fe15e39a14720bb0381478068ef81f8188b0a410",
      "parents": [
        "57b1adb50b716e91014c96eeff85388cd63b5436"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Fri Jan 06 21:10:00 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 06 21:10:00 2023 +0000"
      },
      "message": "Update qg\u0027s rustpython revision.\n\n`rustpython-std` previously had a pinned `crossbeam-utils` dependency\nwhich conflicts with other crates.\n\nChange-Id: Ie292c2d6f8f7a0586ba96e9bf079c143deed1756\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/126254\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@pigweed.google.com.iam.gserviceaccount.com\u003e\nPigweed-Auto-Submit: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "57b1adb50b716e91014c96eeff85388cd63b5436",
      "tree": "6695ad95e153c7c87afb1132219fc5c41a90022d",
      "parents": [
        "8467621c741203702ed5f62851152c446475cebc"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Fri Jan 06 21:05:11 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 06 21:05:11 2023 +0000"
      },
      "message": "Add `Fake` target type for testing.\n\nChange-Id: I78023b6d489ba6a088b6367a442e7cca934d7e0d\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/126001\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\nPigweed-Auto-Submit: Erik Gilling \u003ckonkers@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@pigweed.google.com.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "8467621c741203702ed5f62851152c446475cebc",
      "tree": "7c48b61ebb624753684ce126f26a10be7d757f77",
      "parents": [
        "23864d78122d09646a8ca3bb4c1d51173e3d4be0"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Fri Jan 06 21:00:21 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 06 21:00:21 2023 +0000"
      },
      "message": "Add `metatdata()` accessor to `Target`\n\nChange-Id: I10f04d8dc0c3de0535ce3139f2304f9a516d1c79\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/126096\nCommit-Queue: Auto-Submit \u003cauto-submit@pigweed.google.com.iam.gserviceaccount.com\u003e\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\nPigweed-Auto-Submit: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "23864d78122d09646a8ca3bb4c1d51173e3d4be0",
      "tree": "f8b993bfbd01040cf6b98027942ab45dc8576460",
      "parents": [
        "11aa1eb9ebc51b3a4878aabb6571e0acdb068c60"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Fri Jan 06 20:55:31 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 06 20:55:31 2023 +0000"
      },
      "message": "Add `get_target_by_id()` function to `Registry`\n\nChange-Id: Ia2af77ebbce2bed94b755c79f3418cf2393cceb7\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/126095\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\nPigweed-Auto-Submit: Erik Gilling \u003ckonkers@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@pigweed.google.com.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "11aa1eb9ebc51b3a4878aabb6571e0acdb068c60",
      "tree": "c2e620a27037cb858a472cab8f999a6927109d5a",
      "parents": [
        "ada842c539693968b9d968f54754a2b52810b73c"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Fri Jan 06 20:14:48 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Jan 06 20:14:48 2023 +0000"
      },
      "message": "Implement string variable interpolater\n\nThis adds a `StringSub` struct which inserts variable mappings into a\nformat string and updates download targets\u0027 URLs to use it.\n\nChange-Id: Ifc0064415a2e541efbeb349006824001dd54158b\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/125550\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "ada842c539693968b9d968f54754a2b52810b73c",
      "tree": "2a5d8e0c8805a5683ef342276196cd32237ef3f5",
      "parents": [
        "caae836446c73fd40d57d6e780fa7a1e13a801dd"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Wed Jan 04 19:17:23 2023 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jan 04 19:17:23 2023 +0000"
      },
      "message": "Add dependency graph to registry\n\nChange-Id: I6915a82af17bdb256a26fff5e6067c68ee19e3d8\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/125198\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\nCommit-Queue: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "caae836446c73fd40d57d6e780fa7a1e13a801dd",
      "tree": "326d856ff78dce4dc682a7ce508153664f807ed5",
      "parents": [
        "0fce2bb06a4f8770014163b5639f872e6b941268"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Tue Dec 27 22:45:37 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Dec 27 22:45:37 2022 +0000"
      },
      "message": "Refactor project loading for testability.\n\nChange-Id: Ib0be12b67b2f32c809610248013b8610f234d2b7\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/125530\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\nCommit-Queue: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "0fce2bb06a4f8770014163b5639f872e6b941268",
      "tree": "8a0c7ce2f3bafa1a1119e177c6942c6e31828295",
      "parents": [
        "d6e29db5ff390509bb84ea95b8f63bc560aa413c"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Thu Dec 22 22:31:32 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Dec 22 22:31:32 2022 +0000"
      },
      "message": "Return Result from fallible registry functions\n\nThis updates the registry add_* functions to return a Result instead of\na bool on failure to force handling errors. The placeholder error is\nused temporarily.\n\nChange-Id: If9db8c2a442f75f2a0746e1774b7b3c6455bcbe5\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/125211\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "d6e29db5ff390509bb84ea95b8f63bc560aa413c",
      "tree": "625e1b71bac009e402cc6f36fbef4226c2cc09c0",
      "parents": [
        "ea5e2b3a823051f644b46e25371db237f2e1fe67"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Thu Dec 22 22:01:58 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Dec 22 22:01:58 2022 +0000"
      },
      "message": "Extract manifest target metadata\n\nThis parses target metadata from manifest files into an in-memory\nrepresentation, verifying its validity in the process.\n\nChange-Id: I71a060126f92d20e641f7800c76da8361ad0b847\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/125130\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "ea5e2b3a823051f644b46e25371db237f2e1fe67",
      "tree": "3c9dfb386b8682b85e57b1b87f0cac0102dd277c",
      "parents": [
        "2f7b20e77bab42961fd63302e4c3fb15261f21e1"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Thu Dec 22 21:50:53 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Dec 22 21:50:53 2022 +0000"
      },
      "message": "Sort qg dependencies\n\nChange-Id: I937adcecb498e9eb9f8b36b9a2135f21f676db44\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/125193\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\nCommit-Queue: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "2f7b20e77bab42961fd63302e4c3fb15261f21e1",
      "tree": "6eac15e66044892bc7f295de00372565272d42af",
      "parents": [
        "9b09fefb4fe0f51338215974f96212e4240ecccb"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Thu Dec 22 20:20:16 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Dec 22 20:20:16 2022 +0000"
      },
      "message": "Add lazy loading and caching of project registry.\n\nChange-Id: If5d20a1037fa9738f6f08a8ec5a9b603e1a878a3\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/125131\nCommit-Queue: Erik Gilling \u003ckonkers@google.com\u003e\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "9b09fefb4fe0f51338215974f96212e4240ecccb",
      "tree": "33b6817ec49a2d21f6a97bf6b3f26540116a7b81",
      "parents": [
        "9c7e758f16691794850b227dcdd9c2afa487228b"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Wed Dec 21 18:46:35 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Dec 21 18:46:35 2022 +0000"
      },
      "message": "Define downloadable targets\n\nThis adds a second type of target to manifests: downloadable targets.\nThese are targets which can be downloaded from a defined URL. URLs may\ncontain interpolated variables with platform-specific overrides.\n\nThis change only defines these targets in the manifest; it does not\nimplement interpolation or platform overriding.\n\nChange-Id: I9d3552ac5c6495a17e53301ed9a475d3d5377fc3\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/124956\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\nReviewed-by: Keir Mierle \u003ckeir@google.com\u003e\n"
    },
    {
      "commit": "9c7e758f16691794850b227dcdd9c2afa487228b",
      "tree": "2ccfb38fb9bea26b64a968b1a2c3f48d498dc422",
      "parents": [
        "9eb8aab38b7a9fc0a4a10cbb2160207f297be492"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Tue Dec 20 22:23:25 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Dec 20 22:23:25 2022 +0000"
      },
      "message": "Add dependencies to targets\n\nThis adds a dependencies field to the manifest target schema, listing\nother targets on which one depends.\n\nChange-Id: Ib9671761234539a0d10845c9fbeb88db8bbaf0c6\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/124954\nReviewed-by: Keir Mierle \u003ckeir@google.com\u003e\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "9eb8aab38b7a9fc0a4a10cbb2160207f297be492",
      "tree": "2fcb3478ea315534e55606000b0b3cea6a383d7b",
      "parents": [
        "7d6c2d017702c97b5ee9fd1d1b2cc2ecf0ea1ba9"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Tue Dec 20 19:05:28 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Dec 20 19:05:28 2022 +0000"
      },
      "message": "Update target parsing\n\nThis makes several changes to target parsing:\n- Rename \"packages\" to \"targets\".\n- Assume providers are locally namespaced unless explicitly specified as\n  global.\n- Implicitly create a provider for each project.\n- Allow projects to define targets within their own manifests as well as\n  through external provider files.\n- Make target names globally unique.\n- Allow dependency-only targets.\n\nChange-Id: I9b28dc3415837e82835ce3e1374b866cd2bce14d\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/124891\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "7d6c2d017702c97b5ee9fd1d1b2cc2ecf0ea1ba9",
      "tree": "8731530edc05f0361c70b8d4786543a1ab365b8f",
      "parents": [
        "fcca3e1dcb7b0c76038ffa4b246c6d4248feea4c"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Fri Dec 16 20:04:06 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Dec 16 20:04:06 2022 +0000"
      },
      "message": "qg-cli: Set clippy warning level\n\nThis sets the default clippy level to pedantic in `qg-cli` for tools\nsuch as IDEs. This is already set in `qg` and presubmit.\n\nChange-Id: If19fd380773c6171539c3ea375d1536ac09b4a99\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/124670\nPigweed-Auto-Submit: Alexei Frolov \u003cfrolv@google.com\u003e\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@pigweed.google.com.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "fcca3e1dcb7b0c76038ffa4b246c6d4248feea4c",
      "tree": "6b86e93aa282d4791029d28a024aa5f56fa5374f",
      "parents": [
        "568f6f4ecee22747b73a6268812db90b6590c63c"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Fri Dec 16 17:51:04 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Dec 16 17:51:04 2022 +0000"
      },
      "message": "Simple manifest parsing\n\nThis defines the basic provider and package structure of manifest files,\nand adds a function to parse manifests starting at a project root. This\nparsing is initially simple, only visiting providers defined within the\nroot manifest file.\n\nA `qg package` CLI command is added to demonstrate manifest parsing.\n\nChange-Id: I171fc21bd6299a726dd13615c070a406b85b61cc\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/121904\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "568f6f4ecee22747b73a6268812db90b6590c63c",
      "tree": "6971489738771fa29cdae9b64ab8869996ffb089",
      "parents": [
        "5e83dbbbf54e48e60ff08ed37f84e918504a7f96"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Fri Dec 16 17:49:01 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Dec 16 17:49:01 2022 +0000"
      },
      "message": "Begin project definition and setup\n\nThis defines a qg-based project as a directory tree containing a\n`qg.toml` file at its root and adds basic functionality to locate one.\n\nAdditionally, simple project initialization is implemented through the\n`qg new` subcommand, creating a project directory with a starter\n`qg.toml`. This is available behind the `new_command` feature.\n\nChange-Id: Iac4622bc2eb2fd5ef519cb07bc6156a580a90c9b\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/119991\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "5e83dbbbf54e48e60ff08ed37f84e918504a7f96",
      "tree": "ee845d4bc94a0dca63f8c935d0b474656fabce27",
      "parents": [
        "7f96216aa603e6b5518a52464e82411dc6f717a0"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Thu Nov 24 00:12:12 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 24 00:12:12 2022 +0000"
      },
      "message": "Fix presubmit errors in python serialization\n\nChange-Id: I6eaa1f64d4f5578f5858a919cfd7d46581e1c2ce\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/121014\nCommit-Queue: Erik Gilling \u003ckonkers@google.com\u003e\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "7f96216aa603e6b5518a52464e82411dc6f717a0",
      "tree": "c311490b8eaaddb4378a041767ab921e1c5c4013",
      "parents": [
        "71e10006082d7307e26129e3723eea34dc2a51da"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Wed Nov 23 23:02:22 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 23 23:02:22 2022 +0000"
      },
      "message": "Add support for serializing Rust types to Python\n\nChange-Id: Ibdca5b307738b914caa95eeb7409e14eb0bcea44\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/120353\nCommit-Queue: Erik Gilling \u003ckonkers@google.com\u003e\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "71e10006082d7307e26129e3723eea34dc2a51da",
      "tree": "d25272fe096ffd629732e662eee1dca63ad42306",
      "parents": [
        "c5104b6a09877d42852ce816258eb8e3cc50fde7"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Wed Nov 23 21:05:15 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 23 21:05:15 2022 +0000"
      },
      "message": "Remove Cargo.lock to avoid rebase conflicts\n\nChange-Id: Ica259fa64955b33b2c6bdc0470126ddd340667c7\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/121012\nCommit-Queue: Erik Gilling \u003ckonkers@google.com\u003e\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "c5104b6a09877d42852ce816258eb8e3cc50fde7",
      "tree": "4a4af9f755c2a2c1408d00a1de079605659e9b86",
      "parents": [
        "ade276dafc10bc94fe6bd8e21b1af905cae30b4c"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Wed Nov 23 20:53:52 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 23 20:53:52 2022 +0000"
      },
      "message": "Pin rustpython revision\n\nChange-Id: I9f7f802f747e97a05e709852040d07a20f8e4176\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/121011\nPigweed-Auto-Submit: Erik Gilling \u003ckonkers@google.com\u003e\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@pigweed.google.com.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ade276dafc10bc94fe6bd8e21b1af905cae30b4c",
      "tree": "2350ea49e153418b54b5284f4417506cd36a084e",
      "parents": [
        "1ddb9802667eabf1d83b98d6c6e7a7d853e8e72b"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Wed Nov 23 20:52:18 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 23 20:52:18 2022 +0000"
      },
      "message": "Fail presubmit on warnings\n\nChange-Id: I6b44b36d16b3285bb752810a98831e05e58d8c4e\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/121010\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\nPigweed-Auto-Submit: Erik Gilling \u003ckonkers@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@pigweed.google.com.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "1ddb9802667eabf1d83b98d6c6e7a7d853e8e72b",
      "tree": "c70c360265e60462a9bcb361522fb32109489550",
      "parents": [
        "56034af4bcf7cbff8e1d0f7bda97e1c480efd69b"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Wed Nov 23 19:05:28 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 23 19:05:28 2022 +0000"
      },
      "message": "Serialized file API\n\nThis creates a module for serializing and deserializing data to and from\nfiles on the filesystem, with TOML as the initially supported format.\n\nChange-Id: I57c8b397507334329d2b1ea8a17e69d645bc4706\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/119992\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "56034af4bcf7cbff8e1d0f7bda97e1c480efd69b",
      "tree": "84c452e1420bb8ef158e16e8599f79ef33dbb181",
      "parents": [
        "fa3cc725f8174083a19af5bf192e00255b1d50c4"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Mon Nov 21 23:33:07 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 21 23:33:07 2022 +0000"
      },
      "message": "Fix new clippy lints\n\nLatest version of clippy (in nightly) contains a new lint.\n\nChange-Id: Ibfcab1eab9e83d22f1cc413450c2516d4205071e\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/120710\nCommit-Queue: Auto-Submit \u003cauto-submit@pigweed.google.com.iam.gserviceaccount.com\u003e\nReviewed-by: Rob Mohr \u003cmohrr@google.com\u003e\nPigweed-Auto-Submit: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "fa3cc725f8174083a19af5bf192e00255b1d50c4",
      "tree": "f284f802f647d1f7245d6565839d91f7f8196f1c",
      "parents": [
        "d3ccca353a0378dc8b197dc06eb10fd58fb0413e"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 21 22:37:24 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 21 22:37:24 2022 +0000"
      },
      "message": "presubmit: Get rust from cipd\n\nChange-Id: Iac4cf7428ff1f0d4526bc1fd4feef1fc07111c4f\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/120637\nPigweed-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@pigweed.google.com.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d3ccca353a0378dc8b197dc06eb10fd58fb0413e",
      "tree": "10f75c39f399b581cb3c00a2d7e1762b088ad118",
      "parents": [
        "4a29ab3470eb639531da1bb0865baa174a57475f"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Mon Nov 21 17:18:29 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 21 17:18:29 2022 +0000"
      },
      "message": "Return errors from subcommands\n\nThis pulls in `anyhow` and updates subcommand implementations to return\nresults which propagate up to main.\n\nChange-Id: Idd360e03c1adf8960c09a2690bf5e0753ac3e464\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/119870\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "4a29ab3470eb639531da1bb0865baa174a57475f",
      "tree": "d27dd5a71b14cafa5693d67564a428b81933f97f",
      "parents": [
        "65e3d091c26c63ce14dfe08bff0ecf8f19ff93d5"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Fri Nov 18 22:44:29 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 18 22:44:29 2022 +0000"
      },
      "message": "Add basic python interpeter support.\n\nChange-Id: I76dc55781fa435922c9c37f7fe4a016060ef3213\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/120112\nReviewed-by: Alexei Frolov \u003cfrolv@google.com\u003e\nPigweed-Auto-Submit: Erik Gilling \u003ckonkers@google.com\u003e\nCommit-Queue: Auto-Submit \u003cauto-submit@pigweed.google.com.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "65e3d091c26c63ce14dfe08bff0ecf8f19ff93d5",
      "tree": "c6379afe09a2f88597967261ba7d27666cc9448c",
      "parents": [
        "09fc9f4f559af66daefd0a909099ec6e47b9a36a"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Wed Nov 16 20:32:39 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 16 20:32:39 2022 +0000"
      },
      "message": "Set up async runtime\n\nThis adds tokio to the project and wraps the main function with an async\nexecutor.\n\nChange-Id: Iff66164dfe374e7ff1ab929f99e5674e464a730f\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/119751\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "09fc9f4f559af66daefd0a909099ec6e47b9a36a",
      "tree": "777956a3623f9479c8eb12c4f4a509ac92513baa",
      "parents": [
        "551871420f465ced2513158a3f3b99146f4860df"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Wed Nov 16 20:29:19 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 16 20:29:19 2022 +0000"
      },
      "message": "Add simple subcommand argument parsing structure\n\nThis pulls in clap and sets up a registry of subcommands, providing an\nexample \"hello\" subcommand.\n\nChange-Id: Ie326ec455fc75ba0509558faac8f7b771f81478a\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/119539\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\n"
    },
    {
      "commit": "551871420f465ced2513158a3f3b99146f4860df",
      "tree": "0a8fc666c3ec9fc77f37af08ac8de9aa40dff319",
      "parents": [
        "f2c90424d780cacd676afc964a7c982df2f644df"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Wed Nov 16 18:50:59 2022 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 16 18:50:59 2022 +0000"
      },
      "message": "Add temporary presubmit script for CI\n\nThis adds a script which ensures that the project compiles, and runs\nlints and code formatting.\n\nChange-Id: I9b02d5f461d4cefba38052836812e1fa16ab82ed\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/119750\nCommit-Queue: Alexei Frolov \u003cfrolv@google.com\u003e\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "f2c90424d780cacd676afc964a7c982df2f644df",
      "tree": "44e092f593fd1e8fb6cb7b137a6d0e5ff9a28c99",
      "parents": [
        "ab329d815b13a91ac8be8ca5f68dc74643e28403"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Mon Nov 14 23:06:55 2022 +0000"
      },
      "committer": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Mon Nov 14 23:06:55 2022 +0000"
      },
      "message": "Add rustfmt.toml\n\nThis adds a rustfmt configuration with project formatting options.\n\nChange-Id: I9fb8c3ee387b0be3296189723cb20f7cbec2153f\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/119291\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "ab329d815b13a91ac8be8ca5f68dc74643e28403",
      "tree": "bb4f76fb00a6988e361fe86319fd546adbceb892",
      "parents": [
        "4271862af2b2b9da6ab93c506346be187a53dc78"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Sat Nov 12 00:27:32 2022 +0000"
      },
      "committer": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Sat Nov 12 00:27:32 2022 +0000"
      },
      "message": "Fix authors in Cargo.toml\n\nChange-Id: I473f3226118092c338e53ae4a871992031c2b71a\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/118868\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "4271862af2b2b9da6ab93c506346be187a53dc78",
      "tree": "4e769a75e0e35869b5fed5728761307850237dba",
      "parents": [
        "0947fce779eb7ca4fef7c4c380ceb47a85078530"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Fri Nov 11 22:19:57 2022 +0000"
      },
      "committer": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Fri Nov 11 22:19:57 2022 +0000"
      },
      "message": "Specify Rust version in crates\n\nWe\u0027re going GAT!\n\nChange-Id: Idf2cad57523c7954a672daf393da4e333424920d\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/118865\nReviewed-by: Asad Memon \u003casadmemon@google.com\u003e\n"
    },
    {
      "commit": "0947fce779eb7ca4fef7c4c380ceb47a85078530",
      "tree": "8e419a6ca4a693949ebc2d5a0b0f5cef17e668a8",
      "parents": [
        "eba21bc26d25ec7d55b6161bbcc5713e719fee04"
      ],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Fri Nov 11 22:14:15 2022 +0000"
      },
      "committer": {
        "name": "Erik Gilling",
        "email": "konkers@google.com",
        "time": "Fri Nov 11 22:14:15 2022 +0000"
      },
      "message": "Cargo project scaffolding\n\nChange-Id: Ibe888b1d8f202c026ea4885208e7a49ed7c98d9f\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/qg/+/118752\nReviewed-by: Erik Gilling \u003ckonkers@google.com\u003e\n"
    },
    {
      "commit": "eba21bc26d25ec7d55b6161bbcc5713e719fee04",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "Alexei Frolov",
        "email": "frolv@google.com",
        "time": "Fri Nov 11 21:54:17 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 11 21:54:17 2022 +0000"
      },
      "message": "Initial empty repository\n"
    }
  ]
}
