)]}'
{
  "log": [
    {
      "commit": "b00d7a331c9f2a578a4cfc4dfe0d626aa58fa702",
      "tree": "49fda4fb66b0e3f5fb08029aca582aaebc3c5cbf",
      "parents": [
        "06f51ba1af2fafeec7fdfcba5d635bd001a31b3e",
        "eae1f1fba33cb105302227b044a14e5abcbe55e7"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jan 17 18:16:10 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 17 18:16:10 2012 -0800"
      },
      "message": "am eae1f1fb: Merge \"res_send: Avoid spurious close()s and (rare) failure\"\n\n* commit \u0027eae1f1fba33cb105302227b044a14e5abcbe55e7\u0027:\n  res_send: Avoid spurious close()s and (rare) failure\n"
    },
    {
      "commit": "87043f9c89593125a27199d0c1b4069d088672d7",
      "tree": "161f017fed7022c8a8f898fd880ab3306577a9e2",
      "parents": [
        "e30e909363c5c706f394050d9cd00ce222caadbf"
      ],
      "author": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Mon Dec 12 16:32:56 2011 +0800"
      },
      "committer": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Sat Jan 14 11:30:00 2012 +0800"
      },
      "message": "res_send: Avoid spurious close()s and (rare) failure\n\nWhen looping over the current list of sockets we are connected to,\nuse getpeername() not getsockname() to find out who the remote\nend is.  This change avoids spurious close() and (rare) failure.\n\nOrigin: ISC bug #18625 and fixed in libbind 6.0\n\nChange-Id: I5e85f9ff4b98c237978e4bf4bd85ba0a90d768e6\n"
    },
    {
      "commit": "ecd0e95a0276c1ba72c7331f5e4617815f015f22",
      "tree": "e54104270c6705bcb9fe3ca159b3ac69d852390e",
      "parents": [
        "94963af28e445384e19775a838a29e6a71708179"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jan 11 10:04:48 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jan 12 14:26:41 2012 -0800"
      },
      "message": "Adding a timeout to tcp dns lookup connects.\n\nTCP isn\u0027t supported on some dns servers, which makes the old code\nhang forever.\n\nNOT adding a stopship to remove debugging stuff - it was too painful\n(14s timeout on failed tcp dns lookups) so we decided not to bother people.\n\nbug:5766949\nChange-Id: I381c20c3e11b8e994438d4f7c58ef643cd36554e\n"
    },
    {
      "commit": "7f84da69f86ed9daf610c8d1129392ba3f7c4405",
      "tree": "dd1d2b0e5659065334bec7962b7d2a83de541824",
      "parents": [
        "96e5faccdc5616bb6d4a55d50a0e6148f99d943b"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Sep 02 07:44:36 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Sep 02 07:44:36 2011 -0700"
      },
      "message": "Add some logging of dns cache operations\n\nAdded info about what entries are getting flushed due to ttl or size limits.\n\nChange-Id: I69fb70ce23b5b820f5f1a5738c0f1aa57b6a1127\n"
    },
    {
      "commit": "777901424fa1100817f80a8cff8330b4b11d5af7",
      "tree": "6a633e74cd7648f1258d3d3613305c67a6ac744a",
      "parents": [
        "a4fdd8ae4c1f5b3c2668900a49a9042364f15bd3",
        "9363d91218c7ed727c36ffaf82ff28d7755375ae"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jul 26 16:18:52 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jul 26 16:18:52 2011 -0700"
      },
      "message": "resolved conflicts for merge of 9363d912 to honeycomb-plus-aosp\n\nChange-Id: I555f5c10da9770feacdbece9fd77729d6151bfba\n"
    },
    {
      "commit": "9363d91218c7ed727c36ffaf82ff28d7755375ae",
      "tree": "5e455a8676d35a6931764ddc38b86cd9ba28e2eb",
      "parents": [
        "8f7cdff45557c937e6c7a7e010dc961feeb60c16"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Jul 25 12:30:17 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jul 26 12:59:50 2011 -0700"
      },
      "message": "Add per-interface dns caches.\n\nimport of changes 22100 and 23138 from opensource.\n\nChange-Id: I3ce86394323d269272aeb2bebeed4374f171a8cf\n"
    },
    {
      "commit": "e4197d41bb3458ea3a38de7bd75aa9cab27ee3af",
      "tree": "0a68a357a1daae9fff0a3c3ab8aa078066fc7c56",
      "parents": [
        "1dcc732bb54366de8835a6889b69818f734815fa",
        "fed3135972f9725a44a7d9b3df728e311ac1a130"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jul 20 17:20:03 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 20 17:20:03 2011 -0700"
      },
      "message": "am fed31359: am f6fcdb2e: am 28de3e59: Merge \"Don\\\u0027t reset caches when dns props change.\"\n\n* commit \u0027fed3135972f9725a44a7d9b3df728e311ac1a130\u0027:\n  Don\u0027t reset caches when dns props change.\n"
    },
    {
      "commit": "bad1686e1fadea28b56c83268b95c089671c9a89",
      "tree": "baac29bbe1dcd013ffe3fa1bc968ac8234790f67",
      "parents": [
        "57aadbb096a118dd33f9f16c67bd18dbb6b92c4a"
      ],
      "author": {
        "name": "Mattias Falk",
        "email": "mattias.falk@sonyericsson.com",
        "time": "Mon Apr 04 16:12:35 2011 +0200"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jul 20 15:09:24 2011 -0700"
      },
      "message": "Don\u0027t reset caches when dns props change.\n\nThis happens too frequently.  We should flush a per-interface cache\nwhen it\u0027s dns server addrs changes.\n\nChange-Id: I8a691c96ce9a775160ef55ddb8f755d649041583\n"
    },
    {
      "commit": "8f88cbedc1692def20298300a7df94ad1c536259",
      "tree": "24a5154d387b1d4cc319d9676f43f49384cc29d7",
      "parents": [
        "2d2dbd30243f4ffd1e0a10ade989e25d29f7f45c",
        "e0a4b67811981ab4c04c437b23c36ae42c444bce"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Jun 27 14:14:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 27 14:14:07 2011 -0700"
      },
      "message": "am e0a4b678: am cc32fbc3: Merge \"Add support for a dns cache per interface\"\n\n* commit \u0027e0a4b67811981ab4c04c437b23c36ae42c444bce\u0027:\n  Add support for a dns cache per interface\n"
    },
    {
      "commit": "23d3e6b21b4b6debff87da8c6558495e564cc38e",
      "tree": "12c38b3f07f332621e4cedf34dd9ac118428b7d5",
      "parents": [
        "b127b1f208e67d74a7ee94ad2bd0ffb2fed3af6b"
      ],
      "author": {
        "name": "Mattias Falk",
        "email": "mattias.falk@sonyericsson.com",
        "time": "Mon Apr 04 16:12:35 2011 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Wed Jun 08 15:39:29 2011 +0200"
      },
      "message": "Add support for a dns cache per interface\n\nInitial commit for dns cache per interface.\nAdded a type that holds a reference to a\ncache and name of associated interface,\naddress of interface, name server(s)\nassociated with an interface etc.\n\nNew functions to set default interface,\naddress of name servers etc.\n\nChange-Id: Ie991bc5592fd998409853d8bf77d7fe69035dac5\n"
    },
    {
      "commit": "b6cd6816d2145682aecb64a676bd3df32185a0e2",
      "tree": "981ad937866678c0b4279d877d9ab6a18fda01ee",
      "parents": [
        "a7a9dddb5dfe783d65fec4d3b0dee9f734345a29"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 17 21:31:33 2011 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Wed May 18 13:48:20 2011 +0200"
      },
      "message": "libc: Fix leak in the DNS thread-specific state.\n\nNOTE: This is a back-port from the internal HC branch.\n\nThis patch fixes a leak that occurs when creating a new\nthread-specific DNS resolver state object.\n\nEssentially, each thread that calls gethostbyname() or getaddrinfo()\nat least once will leak a small memory block. Another leak happens\nanytime these functions are called after a change of the network\nsettings.\n\nThe leak is insignificant and hard to notice on typical programs.\nHowever, netd tends to create one new thread for each DNS request\nit processes, and quickly grows in size after a \u003e 20 hours.\n\nThe same problem is seen in other system processes that tend to\ncreate one thread per request too.\n\nThe leak occured becasue res_ninit() was called twice when creating\na new thread-specific DNS resolver state in _res_get_thread().\n\nThis function could not properly reset an existing thread and was\nleaking a memory block.\n\nThe patch does two things:\n\n- First, it fixes res_ninit() to prevent any leakage when resetting\n  the state of a given res_state instance.\n\n- Second, it modifies the _res_get_thread() implementation to\n  make it more explicit, and avoid calling res_ninit() twice\n  in a row on first-time creation.\n\nFix for Bug 4089945, and Bug 4090857\n\nChange-Id: Icde1d4d1dfb9383efdbf38d0658ba915be77942e\n"
    },
    {
      "commit": "a34694d39498975c3afae959a7a52f1ea7092888",
      "tree": "66805b7e27adf77c3f21c8d3cd65085c05cf441b",
      "parents": [
        "3be409a38c18c75690b74bca5d81ca95c8f0f5b9",
        "09db590d56ff2b568ea1a0ce265810697f0e0e92"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Apr 12 13:28:03 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 12 13:28:03 2011 -0700"
      },
      "message": "am 09db590d: am 9b6e8af6: am 3ef36b21: Merge \"Use system property to set dns cache size\"\n\n* commit \u002709db590d56ff2b568ea1a0ce265810697f0e0e92\u0027:\n  Use system property to set dns cache size\n"
    },
    {
      "commit": "09db590d56ff2b568ea1a0ce265810697f0e0e92",
      "tree": "f6902c650e9a11afa89adb50c2bcb07d1198e348",
      "parents": [
        "702457363c2b1b01f0d9cb0093a48ce28753e275",
        "9b6e8af6994fd41f468161dec797354bb7778673"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Apr 12 13:18:15 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 12 13:18:15 2011 -0700"
      },
      "message": "am 9b6e8af6: am 3ef36b21: Merge \"Use system property to set dns cache size\"\n\n* commit \u00279b6e8af6994fd41f468161dec797354bb7778673\u0027:\n  Use system property to set dns cache size\n"
    },
    {
      "commit": "02be15039a79735286ca8f10074aaa9b2d61a56b",
      "tree": "55ff57f574a874c3bc5a96bed79f2b30b1867802",
      "parents": [
        "01d14ab42967528dc77aa46f293f6a0c63ebc06c",
        "aa8f50b404ab0b2c78833387551800fa8448afcd"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Mar 25 01:52:17 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 25 01:52:17 2011 -0700"
      },
      "message": "am aa8f50b4: am 6d46b099: am 2f169162: Merge \"libc: Fix leak in the DNS thread-specific state.\" into honeycomb-mr1\n\n* commit \u0027aa8f50b404ab0b2c78833387551800fa8448afcd\u0027:\n  libc: Fix leak in the DNS thread-specific state.\n"
    },
    {
      "commit": "2cc2b2be692f1d559a09d2066e56e450249cc9c0",
      "tree": "3391bb270f64051bf1e8c592bbf1dad8c06a5e66",
      "parents": [
        "f8e658cf6b9601e63d4b363ccee83ee4af1a78e4"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Mon Mar 21 20:01:03 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Mon Mar 21 20:01:03 2011 -0700"
      },
      "message": "Add some missing includes.\n\nChange-Id: Ieec623c06bc32ec78334f628af25b00c2bccd2e7\n"
    },
    {
      "commit": "4661fda2e5339c39ceb3aefd184eb8be3d0ca835",
      "tree": "99a502f7e823ad87026a93bbf2add5272ac843fd",
      "parents": [
        "ec7e8cc9dddafc624cd28939c1a38ea336c89455"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 17 21:31:33 2011 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Mar 18 18:08:08 2011 +0100"
      },
      "message": "libc: Fix leak in the DNS thread-specific state.\n\nThis patch fixes a leak that occurs when creating a new\nthread-specific DNS resolver state object.\n\nEssentially, each thread that calls gethostbyname() or getaddrinfo()\nat least once will leak a small memory block. Another leak happens\nanytime these functions are called after a change of the network\nsettings.\n\nThe leak is insignificant and hard to notice on typical programs.\nHowever, netd tends to create one new thread for each DNS request\nit processes, and quickly grows in size after a \u003e 20 hours.\n\nThe same problem is seen in other system processes that tend to\ncreate one thread per request too.\n\nThe leak occured becasue res_ninit() was called twice when creating\na new thread-specific DNS resolver state in _res_get_thread().\n\nThis function could not properly reset an existing thread and was\nleaking a memory block.\n\nThe patch does two things:\n\n- First, it fixes res_ninit() to prevent any leakage when resetting\n  the state of a given res_state instance.\n\n- Second, it modifies the _res_get_thread() implementation to\n  make it more explicit, and avoid calling res_ninit() twice\n  in a row on first-time creation.\n\nFix for Bug 4089945, and Bug 4090857\n\nChange-Id: Ie4831a8dbe82be8f07fce5ddd1d36bf95994f836\n"
    },
    {
      "commit": "3a4910c6161d57e40ba01cc9693f1a4514892b03",
      "tree": "685ad860b0d885f4711ee4736f739293c26eb3bb",
      "parents": [
        "76299d196f8cc731b5bd72880f63d9d9cfd05694"
      ],
      "author": {
        "name": "Mattias Falk",
        "email": "mattias.falk@sonyericsson.com",
        "time": "Mon Feb 14 12:41:11 2011 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Mon Feb 14 12:41:11 2011 +0100"
      },
      "message": "Use system property to set dns cache size\n\nUse system property ro.net.dns_cache_size to set\nthe size of the cache. If the system property\nis not set the default cache size is defined by\nCONFIG_MAX_ENTRIES.\n\nThe number of entries in the hash table will be equal\nto the number of max entries allowed in the cache.\n\nChange-Id: I77d69d7c178937fa483d0b40512483ad29232d28\n"
    },
    {
      "commit": "3e0c5102e6d57e5b7296f95e1b318fda6114b48e",
      "tree": "52d7f9d642fd32b119d6b38ed7b02335c6a959ef",
      "parents": [
        "59290f4c88241c23f3f9cfcbb28e3011035f1012"
      ],
      "author": {
        "name": "Mattias Falk",
        "email": "mattias.falk@sonyericsson.com",
        "time": "Mon Jan 31 12:42:26 2011 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Wed Feb 02 16:40:01 2011 +0100"
      },
      "message": "Add time-to-live (TTL) support to resolver cache\n\nUse the the TTL of the answer as the time a query\nshall remain in the resolver cache.\n\nAdded some debugging support as well, i.e.\nparse answer and print a la dig.\n\nChange-Id: I724d3392245032592f1912f3ca7a81a8987ebbac\n"
    },
    {
      "commit": "7cc5666d94615d9249163dc7ac0f58c2614497ce",
      "tree": "da6ee98c595330b3ff97ea743d31d769e19c83ca",
      "parents": [
        "f67e5211e045af1b12f646448a5a35f96ba5e8f1"
      ],
      "author": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Fri Oct 15 02:02:57 2010 +0800"
      },
      "committer": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Fri Oct 15 02:10:29 2010 +0800"
      },
      "message": "resolv: make internal symbols static/hidden\n\nChange-Id: I988b83613e6252c0cc961555e81c10f856a38b37\n"
    },
    {
      "commit": "d378c68d74cb4fdac450650fe816c9d649c8edaf",
      "tree": "0d5c15b4606982f26009bdc5c572415ac9dd18d3",
      "parents": [
        "d7ed1ae98249af8a58ce97784a29f048d77789a9"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 08 15:13:04 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 08 15:22:13 2010 -0800"
      },
      "message": "Fix spurious DNS lookups in the C library.\n\nThe problem was that the \u0027defdname\u0027 field of res_state structure\nwas not properly initialized in __res_vinit(). This field is used\nto store the default domain name, which is normally build from\ncalling gethostname() (see line 549 of res_init.c).\n\nUnfortunately, in the typical Android case, gethostname() returns\nan error (the hostname is configured) and a random stack string is\nused later to build the DNS search list (see lines 556+ in res_init.c)\n\nFor the sake of illustration, let\u0027s say the search list is set to\na random value like \u0027xWLK\u0027.\n\nThe end result is that when trying to result an unknown domain name\n(e.g. \u0027www.ptn\u0027), the query fails then the resolver tries to make a\nnew query with the DNS search list path(s) appended (e.g. \u0027www.ptn.xWLK\u0027).\n\nThe patch simply initializes \u0027defdname\u0027 to an empty string to avoid\nthis when the net.dns.search system property is not set.\n\nAlso contains whitespace/formatting fixes\n"
    },
    {
      "commit": "9cfb12e6bce65b49fd858b86149858ff3851072d",
      "tree": "356310761476af56a25dd0988157c16e3329e2b9",
      "parents": [
        "eda65ce1a5586ae9c9d19d886e3ea10ef0400510",
        "3773d35eb98e22b5edab4d82fb72bdf86ff80494"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jul 28 15:27:33 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 28 15:27:33 2009 -0700"
      },
      "message": "am 3773d35e: Make the DNS resolver accept domain names with an underscore.\n\nMerge commit \u00273773d35eb98e22b5edab4d82fb72bdf86ff80494\u0027\n\n* commit \u00273773d35eb98e22b5edab4d82fb72bdf86ff80494\u0027:\n  Make the DNS resolver accept domain names with an underscore.\n"
    },
    {
      "commit": "3773d35eb98e22b5edab4d82fb72bdf86ff80494",
      "tree": "05cdad25492e5dd326c10bc0b1f6ac78b0e8b1bd",
      "parents": [
        "39f3745cf30efe38482ffead1c32f4e62f6fe32e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jul 27 19:19:29 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jul 27 19:19:29 2009 +0200"
      },
      "message": "Make the DNS resolver accept domain names with an underscore.\n\nMore precisely, this accepts domain labels with an underscore in\nthe middle (i.e. not at the start or the end of the label). This\nis needed to perform complex CNAME chain resolution in certain\nVPN networks.\n"
    },
    {
      "commit": "c52c174e412fa6c829cf6353ce8dbebdf710511f",
      "tree": "0a45a8dbd770b3a7222ff24105cff47ec0b1f978",
      "parents": [
        "040ae31701ea2583225b5ff9cc5b91de2719f7e8"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Jun 11 19:33:45 2009 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jun 16 18:55:37 2009 -0700"
      },
      "message": "Make IPv6 definitions comply with RFC 3493:\n - Add some definitions to netinet/in6.h\n - Include netinet/in6.h from netinet/in.h\n"
    },
    {
      "commit": "aeae1f5b6c6cf22c2854e07f11555591c5430607",
      "tree": "e11d62b5e4a567c87357bfc952653c5c52658be2",
      "parents": [
        "00a18f62a7c97299cea017578ec7ec179215492b"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Apr 09 18:09:50 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Mon Apr 13 10:41:17 2009 +0800"
      },
      "message": "Add the domain search list for VPN connection.\n  The current solution is to read the net.dns.search property,\nand expand the list during the resolve initialization. In the\nfuture, we could implement search list per process.\n\nUpdate: refine the code accordingly.\n\nUpdate: remove unnecessary code.\n\nUpdate: remove the unused variable.\n"
    },
    {
      "commit": "1dc9e472e19acfe6dc7f41e429236e7eef7ceda1",
      "tree": "3be0c520fae17689bbf5584e1136fb820caef26f",
      "parents": [
        "1767f908af327fa388b1c66883760ad851267013"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "1767f908af327fa388b1c66883760ad851267013",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "a799b53f10e5a6fd51fef4436cfb7ec99836a516"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "6f04a0f4c72acff80dad04828cb69ef67fa609d1",
      "tree": "915db7d93cb742f72b5d3819e69f48cb29c40a15",
      "parents": [
        "2489551343aa89fc539f369f7689c941b78c08d1"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:29 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:29 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@132276\n"
    },
    {
      "commit": "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349",
      "tree": "defd1cc07d16ad2f3b21154114e092d11c94c5bb",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
