)]}'
{
  "commit": "74e8ed4bde37a3ce42579e4601e0a54120853c89",
  "tree": "ca0c74f490498124d784d8f2c2ed4c146d10097f",
  "parents": [
    "2fe84e17b923f29139dc6056756ab30078864c18"
  ],
  "author": {
    "name": "Sean McAllister",
    "email": "smcallis@google.com",
    "time": "Wed Apr 15 12:24:43 2020 -0600"
  },
  "committer": {
    "name": "Sean McAllister",
    "email": "smcallis@google.com",
    "time": "Thu Apr 16 18:42:53 2020 +0000"
  },
  "message": "Expose upstream and dest-branch attributes through environment\n\nRecent changes in ChromeOS Infra to ensure we\u0027re reading from\nsnapshot manifests properly have exposed several bugs in our\nassumptions about manifest files.  Mainly that the revision field\nfor a project does _not_ have to refer to a ref, it can just be\na commit hash.\n\nSeveral places assume that the revision field can be parsed as a\nref to get the branch the project is on, which isn\u0027t true.  To fix\nthis we need to be able to look at the upstream and dest-branch\nattributes of the repo, so we expose them through the environment\nvariables set in `repo forall`.\n\nTest: manual \u0027repo forall\u0027 run\nBug: https://crbug.com/1032441\n\nChange-Id: I2c039e0f4b2e0f430602932e91b782edb6f9b1ed\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/263132\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nTested-by: Sean McAllister \u003csmcallis@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a13793d0962a7552ea1f2c85d238badb52495595",
      "old_mode": 33188,
      "old_path": "subcmds/forall.py",
      "new_id": "55d61ecb2a38d0105fcd7ba57c6565068e4f8ffb",
      "new_mode": 33188,
      "new_path": "subcmds/forall.py"
    },
    {
      "type": "modify",
      "old_id": "d9f242eedab58ab22911678aba46d5b39b466e80",
      "old_mode": 33188,
      "old_path": "subcmds/manifest.py",
      "new_id": "399e241e9d2152ed1977af8a754b8e1ea982d70c",
      "new_mode": 33188,
      "new_path": "subcmds/manifest.py"
    }
  ]
}
