)]}'
{
  "log": [
    {
      "commit": "b7e03e82b89a30b09fea88eaf2a5638df1017cf6",
      "tree": "4a82e891ea154a1ac42c736e120a1b8e985c5a06",
      "parents": [
        "a649a7df15617e1e54cc89c2f682a5e6472bf304"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Fri Dec 18 11:39:59 2015 -0800"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Fri Jan 08 11:12:15 2016 -0800"
      },
      "message": "init: Allows shutting down cleanly.\n\nWhen ro.build.shutdown_timeout is set, init will send a SIGTERM signal to\nall services on reboot. The normal shutdown process will continue once\nall services have exited or after the shutdown timeout\n(ro.build.shutdown_timeout).\n\nIf ro.build.shutdown_timeout is not set, we assume a 0s timeout.\n\nBug: 26216447\nTest: manual: Ask to reboot. All services exit cleanly.\n\nChange-Id: If921f6e8d87211e500ac9fa86f3e1eabe02d18cf\n"
    },
    {
      "commit": "1563d6546cd1d329c6ee64288f1915e9fd284ea9",
      "tree": "bfaf2d4b765ae65c0722106e109afbbebd14b4c2",
      "parents": [
        "c68998441cdf32159912704fdd264b4750390012"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Dec 07 17:40:04 2015 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Dec 07 17:53:39 2015 -0800"
      },
      "message": "Remove property_area_initialized\n\nThis is deadcode as property_init() will only ever be called once and\nthe only remaining caller of properties_initialized() is\nService::NotifyStateChange() which can only be called after properties\nhave been initialized.\n\nChange-Id: Ie071af84fcdbead72d259890fc8fb8db624282e7\n"
    },
    {
      "commit": "c68998441cdf32159912704fdd264b4750390012",
      "tree": "3541745983dc4b9bc0942931424d5b574727488c",
      "parents": [
        "50413c7626c7598ccb062d7d1156e5cfa1b2cb8e",
        "265f525e21d1dea3c09678a545c2df324736a490"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Dec 08 01:29:53 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 08 01:29:53 2015 +0000"
      },
      "message": "Merge \"Remove ANDROID_PROPERTY_WORKSPACE\""
    },
    {
      "commit": "4f71319df011d796a60a43fc1bc68e16fbf7d321",
      "tree": "5e9b64a97edcda3dbb1d40c617bdd9b179deb259",
      "parents": [
        "1efab7acc5d5b69dced70b6d04070d36f7c9632d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 04 22:00:26 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 04 22:00:26 2015 -0800"
      },
      "message": "Track rename of base/ to android-base/.\n\nChange-Id: Idf9444fece4aa89c93e15640de59a91f6e758ccf\n"
    },
    {
      "commit": "265f525e21d1dea3c09678a545c2df324736a490",
      "tree": "42e0b0df5d5487157eb7e88e32b5ffa3ea319fce",
      "parents": [
        "65fc48557485e0d8afafb5c8c5644d93b53c3214"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Sep 22 13:51:52 2015 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Dec 04 14:11:02 2015 -0800"
      },
      "message": "Remove ANDROID_PROPERTY_WORKSPACE\n\nBug 23290008\n\nChange-Id: I95babe735444ada10c67594ace700cae5d1ec0b3\n"
    },
    {
      "commit": "b7349902a945903f9e36a569051f5131beb0bc24",
      "tree": "8553bcebe434b7d6fe178fbb2c2ef2433773c8f2",
      "parents": [
        "e13fd9aa231b117b03be6b84b7fb0debe6cb620d"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Aug 26 11:43:36 2015 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Sep 01 12:26:02 2015 -0700"
      },
      "message": "init: Use classes for parsing and clean up memory allocations\n\nCreate a Parser class that uses multiple SectionParser interfaces to\nhandle parsing the different sections of an init rc.\n\nCreate an ActionParser and ServiceParser that implement SectionParser\nand parse the sections corresponding to Action and Service\nclasses.\n\nRemove the legacy keyword structure and replace it with std::map\u0027s\nthat map keyword -\u003e (minimum args, maximum args, function pointer) for\nCommands and Service Options.\n\nCreate an ImportParser that implements SectionParser and handles the\nimport \u0027section\u0027.\n\nClean up the unsafe memory handling of the Action class by using\nstd::unique_ptr.\n\nChange-Id: Ic5ea5510cb956dbc3f78745a35096ca7d6da7085\n"
    },
    {
      "commit": "af9ba4dc6ca98e136e887b0baa59b72fb8302dd3",
      "tree": "d3bac3fa684dbb266983ec7d3fa0fe4d58d4fd15",
      "parents": [
        "5a1f9a3ef033e85c35ba8e6df9810f95f287aa5f"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 11 16:37:04 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 11 16:39:57 2015 -0700"
      },
      "message": "Add missing includes.\n\nLeaky header cleanup in libc++ means we don\u0027t get unistd.h\ntransitively any more.\n\nChange-Id: I596c24eff418302b19afab6ad3caa55f52241e7c\n"
    },
    {
      "commit": "bac3299720623f4226bca103b26260052732ad30",
      "tree": "3f232ef27421dd03dd8ee1adbecd638ca979a4bf",
      "parents": [
        "4247ebfd2faefcfd7abf7a4cc4c85ce6c8b5125c"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Jul 31 12:45:25 2015 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Aug 07 10:16:39 2015 -0700"
      },
      "message": "Create Service and ServiceManager classes\n\nChange-Id: I363a5e4751ad83d2f4096882a6fbbeddca03acfe\n"
    }
  ]
}
