)]}'
{
  "commit": "e92def4f3c06e6dc65c8d69f6bbb378ccba92546",
  "tree": "e4296096623690d12ddf0aedff4a26a629849092",
  "parents": [
    "e0ddd60a4c230f913a8032eadd3c5a46cb944c42"
  ],
  "author": {
    "name": "iannucci",
    "email": "iannucci@chromium.org",
    "time": "Tue Aug 08 21:50:04 2017"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Tue Aug 08 21:50:04 2017"
  },
  "message": "Add source manifest proto to recipe_engine.\n\nThis adds the initial form of the \"source manifest\" proto which will\nallow recipe_engine to communicate structured data about\nstuff-on-disk-that-we-got-from-remote-servers to LUCI services like Milo,\nand will also give us a better option than \u0027got_revision\u0027 properties for\nexporting this data from recipes (i.e. we\u0027ll be able to export all the\ndata and then query/read it instead of hard-coding a few hacks to export\nspecific repos).\n\nThis only covers git, cipd and isolated for now, but could be expanded\nto other data sources, if needed. We don\u0027t currently anticipate a need\nfor that, but the proto is hopefully obviously extensible for this.\n\nClients consuming this proto (like Milo) may have specialized support\nwhen comparing two manifest (e.g. two entries sharing the same git repo\nmay render as a git log), but it should also be somewhat easy to show a\nuseful generic diff when comparing two Manifest protos, even when the\ndeployment type changes (i.e. local path \"foo\" used to be a git checkout,\nbut is now multiple CIPD packages).\n\nR\u003ddnj@chromium.org, hinoka@chromium.org, machenbach@chromium.org\nBUG\u003d468053\n\nReview-Url: https://codereview.chromium.org/2998523002\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d599069b7366f3974019517c31b5dc37333410ff",
      "new_mode": 33188,
      "new_path": "recipe_engine/source_manifest.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a8c4533c116efd48e993c155974ff6f3d9d2b0a0",
      "new_mode": 33188,
      "new_path": "recipe_engine/source_manifest_pb2.py"
    }
  ]
}
