)]}'
{
  "commit": "34b5d86d057d450325dd06d35ae182ac6da306e4",
  "tree": "9725acd4ff8b24c9c5436c013f7c5e36f165c2af",
  "parents": [
    "19a45f0eda0917b7788b925b501e774208474fde"
  ],
  "author": {
    "name": "Jay Srinivasan",
    "email": "jaysri@chromium.org",
    "time": "Mon Jul 23 11:43:22 2012 -0700"
  },
  "committer": {
    "name": "Gerrit",
    "email": "chrome-bot@google.com",
    "time": "Mon Jul 23 13:23:06 2012 -0700"
  },
  "message": "Use a local UpdateFirstSeenAt timestamp instead of UpdatePublishedOn\n\nThe existing implementation that used the UpdatePublishedOn doesn\u0027t work\nwell with other AU enterprise policies such as stop AU, target version,\netc. This change will help all those scenarios to work and will make\nthe co-existence of policies more intuitive for the enterprise admin.\n\nBasically, these scenarios bring out a flaw in the assumption I had\nmade earlier. i.e. we had assumed that if an update was pushed 5 months\nago, we never have to scatter that because most machines would have\nbeen picked up the update by then. With the other AU policies like\nstop AU or version pinning, this assumption is not true and scattering\nis still relevant in these cases.\n\nThis new UpdateFirstSeenAt timestamp is the first time a Chrome device\nhears of an update from Omaha that\u0027s eligble to be applied to the device\nbased on all policies except scattering. It\u0027ll use this timestamp instead\nof the UpdatePublishedOn from the rule (which is no longer needed) and\neverything else remains the same.  This UpdateFirstSeenAt value will\nalso be persisted so that the waiting period can be satisfied over reboots\nwhen an update is not ready to be applied yet.\n\nThis timestamp will be cleared (only) after an update has been successfully\napplied and the device is waiting to be rebooted.\n\nAlso contains a minor fix for avoiding the crash mentioned in 32797.\n\nBUG\u003dchromium-os:32280\nTEST\u003dAdded new unit tests, tested on ZGB.\nChange-Id: I1d7845a11f7eb7fc0a019018c8c4b9a3c68ee2cd\nReviewed-on: https://gerrit.chromium.org/gerrit/28100\nCommit-Ready: Jay Srinivasan \u003cjaysri@chromium.org\u003e\nReviewed-by: Jay Srinivasan \u003cjaysri@chromium.org\u003e\nTested-by: Jay Srinivasan \u003cjaysri@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ae8e5e7bf096863707073398dfcd355bf1649809",
      "old_mode": 33188,
      "old_path": "omaha_request_action.cc",
      "new_id": "24641cb5ec278ec7d36d43b20ea3c7eaa9437b22",
      "new_mode": 33188,
      "new_path": "omaha_request_action.cc"
    },
    {
      "type": "modify",
      "old_id": "d8bef5e25c9c8fcdcbedf2616b71d4fffe908ecf",
      "old_mode": 33188,
      "old_path": "omaha_request_action_unittest.cc",
      "new_id": "a336bdd6ae4b063066183edfdd73b4feabe8d068",
      "new_mode": 33188,
      "new_path": "omaha_request_action_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "138881748fc52412ff10a1d530dd0b80e80a8a12",
      "old_mode": 33188,
      "old_path": "prefs.cc",
      "new_id": "abce538ff4011d42308d0cb95c6be089905f648b",
      "new_mode": 33188,
      "new_path": "prefs.cc"
    },
    {
      "type": "modify",
      "old_id": "3cb40597ec4c4aae5da134ffcd1ed1fceb5cc4b4",
      "old_mode": 33188,
      "old_path": "prefs_interface.h",
      "new_id": "d0ff0d010a9d2ed2d29a24cf2547e6ddf9dc97a1",
      "new_mode": 33188,
      "new_path": "prefs_interface.h"
    },
    {
      "type": "modify",
      "old_id": "d2bd6f185c772fbb857a7c417c2f68c2c2d953d7",
      "old_mode": 33188,
      "old_path": "system_state.cc",
      "new_id": "57483ea9aea58cbeec3beac7ceed48bc98350516",
      "new_mode": 33188,
      "new_path": "system_state.cc"
    },
    {
      "type": "modify",
      "old_id": "8dd4622c28f9cdc8d505870735a14986fdae1cfb",
      "old_mode": 33188,
      "old_path": "update_attempter.cc",
      "new_id": "0b7e83638756b117464a77f4282ef66fccbdcc8c",
      "new_mode": 33188,
      "new_path": "update_attempter.cc"
    }
  ]
}
