)]}'
{
  "commit": "67700e9b90a38cc3719c818bc967153e8b7b429e",
  "tree": "57768c3936f66cb28b623c13e59c2bc1dba247ff",
  "parents": [
    "5c6eeac8f0350fd6b14cf226ffcff655f1dd9582"
  ],
  "author": {
    "name": "Dave Borowitz",
    "email": "dborowitz@google.com",
    "time": "Tue Oct 23 15:00:54 2012 -0700"
  },
  "committer": {
    "name": "Dave Borowitz",
    "email": "dborowitz@google.com",
    "time": "Wed Oct 24 14:51:58 2012 -0700"
  },
  "message": "sync: Order projects according to last fetch time\n\nSome projects may consistently take longer to fetch than others, for\nexample a more active project may have many more Gerrit changes than a\nless active project, which take longer to transfer. Use a simple\nheuristic based on the last fetch time to fetch slower projects first,\nso we do not tend to spend the end of the sync fetching a small number\nof outliers.\n\nThis algorithm is probably not optimal, and due to inter-run latency\nvariance and Python thread scheduling, we may not even have good\nestimates of a project sync time.\n\nChange-Id: I9a463f214b3ed742e4d807c42925b62cb8b1745b\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e68a025e6dbc6f65455fd2951d389c83e6d42c7a",
      "old_mode": 33188,
      "old_path": "subcmds/sync.py",
      "new_id": "a8022d9d58ef98c6ea814cc308022acc43186824",
      "new_mode": 33188,
      "new_path": "subcmds/sync.py"
    }
  ]
}
