)]}'
{
  "log": [
    {
      "commit": "6b577759b21ca160d72b1fab6454821b950a05e0",
      "tree": "6d7a4419c6c23829ec4bbfb935bd9d8e67b36c86",
      "parents": [
        "22fc595bfffad0f68d10a1d8fba407473eaa2c06",
        "f2ebd304c3c0822121e6a4d0f542a048a7fc3b20"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Wed Jul 13 14:53:34 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 13 14:53:34 2011 -0700"
      },
      "message": "am f2ebd304: am 57aadbb0: Merge \"enable support for large files (\u003e 2G)\"\n\n* commit \u0027f2ebd304c3c0822121e6a4d0f542a048a7fc3b20\u0027:\n  enable support for large files (\u003e 2G)\n"
    },
    {
      "commit": "f2ebd304c3c0822121e6a4d0f542a048a7fc3b20",
      "tree": "4788833f88f0681f1781d47f9336da9077d69dfd",
      "parents": [
        "b3773e9cc84630fced2117bb57224f0e766c5a26",
        "57aadbb096a118dd33f9f16c67bd18dbb6b92c4a"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Mon Jul 11 10:46:00 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 11 10:46:00 2011 -0700"
      },
      "message": "am 57aadbb0: Merge \"enable support for large files (\u003e 2G)\"\n\n* commit \u002757aadbb096a118dd33f9f16c67bd18dbb6b92c4a\u0027:\n  enable support for large files (\u003e 2G)\n"
    },
    {
      "commit": "0e1723e684c8781198b0cb500100621d9a25df9c",
      "tree": "014b9947a4ac3980e9fbf6ba3b05057cc84ae7b4",
      "parents": [
        "2f5c6d2d663591b0b5cff9f7e90f58f12a5967eb"
      ],
      "author": {
        "name": "Dragos Tatulea",
        "email": "dragos.tatulea@intel.com",
        "time": "Mon Jul 04 18:37:50 2011 +0300"
      },
      "committer": {
        "name": "DDragos Tatulea",
        "email": "dragos.tatulea@intel.com",
        "time": "Tue Jul 05 15:36:43 2011 +0300"
      },
      "message": "enable support for large files (\u003e 2G)\n\nbionic has an i386 ifdef guard for the O_LARGEFILE flag. The reason for this\nis not traceable in the git history, but it\u0027s most likely due to some old\ntoolchain or emulator problem.\n\nBug Id: 10035\n\nChange-Id: I742ee6e50220276c2cb268d66f89b5655ef689fc\nSigned-off-by: Dragos Tatulea \u003cdragos.tatulea@intel.com\u003e\n"
    },
    {
      "commit": "afc92c702307046f4cd212a65ec27f0c712a72cc",
      "tree": "bb82ae7fcc4e8d76d04fc1dc7610e815054e3741",
      "parents": [
        "8bac1c0dfc0161bba1f96a594adfc278b5d50a8a",
        "c643a4d4c71c2caaf016ab402fba99c1c9377567"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Fri Jun 24 17:16:56 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 24 17:16:56 2011 -0700"
      },
      "message": "am c643a4d4: am 2be3f09f: Merge \"time: Improve C99 compliance\"\n\n* commit \u0027c643a4d4c71c2caaf016ab402fba99c1c9377567\u0027:\n  time: Improve C99 compliance\n"
    },
    {
      "commit": "c643a4d4c71c2caaf016ab402fba99c1c9377567",
      "tree": "fc7e2565f2ab96e7613e8e6f282fee88165021d3",
      "parents": [
        "cd9f1f0b2726fbaac75b47231eb80a91841231f9",
        "2be3f09f2d9b6d35b262f7a6148f51c164bb8cbb"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Thu Jun 23 10:01:11 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 23 10:01:11 2011 -0700"
      },
      "message": "am 2be3f09f: Merge \"time: Improve C99 compliance\"\n\n* commit \u00272be3f09f2d9b6d35b262f7a6148f51c164bb8cbb\u0027:\n  time: Improve C99 compliance\n"
    },
    {
      "commit": "21edf366ea9b5e4dc04c217289fdaf39f08a0060",
      "tree": "22323be22340d19e5d6a74e6b7eb1b9a73ed589a",
      "parents": [
        "4d9b75a9b08c19cef81b22f889edba61257fb356"
      ],
      "author": {
        "name": "Jim Huang",
        "email": "jim.huang@linaro.org",
        "time": "Thu Jun 16 22:40:10 2011 +0800"
      },
      "committer": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Wed Jun 22 16:44:45 2011 +0800"
      },
      "message": "time: Improve C99 compliance\n\nQuote from Linux Programmer\u0027s Manual:\n  \"If t is non-NULL, the return value is also stored in the memory\n   pointed to by t.\"\n\nChange-Id: I8cb66b67e5f34c536ce2f0db76a6dc337c42ea3f\nSigned-off-by: Jim Huang \u003cjserv@0xlab.org\u003e\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": "38e53adaddb474d41d1b6282eec38b71b8447d5d",
      "tree": "004cd6c22daa4cd50796282fc5dc850595d57eba",
      "parents": [
        "621bc53339c10e86d92ec89eefbb16af33229774",
        "c59b248241b18492d20e112230a907c14400275b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Mar 16 11:43:29 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 16 11:43:29 2011 -0700"
      },
      "message": "am c59b2482: am 5a6f593b: Merge \"Use sigemptyset to initialise sigset_t values. sigset_t may not be implemented as an integral type.\"\n\n* commit \u0027c59b248241b18492d20e112230a907c14400275b\u0027:\n  Use sigemptyset to initialise sigset_t values. sigset_t may not be implemented as an integral type.\n"
    },
    {
      "commit": "c1519a52efa2cae96ccc0cb9944a29683a7023a2",
      "tree": "6aa91f86af2e5f1cd04b30fc14752aeee38a0216",
      "parents": [
        "fed58049d50083e4c960d89f4bbd516a181c2d18"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Thu Mar 10 11:12:27 2011 -0800"
      },
      "committer": {
        "name": "Raghu Gandham",
        "email": "raghu@mips.com",
        "time": "Mon Mar 14 12:15:22 2011 -0700"
      },
      "message": "Use sigemptyset to initialise sigset_t values.\nsigset_t may not be implemented as an integral type.\n\nChange-Id: I3f5ec86d6383685979d8d23ef508b6c609569b38\nSigned-off-by: Raghu Gandham \u003craghu@mips.com\u003e\n"
    },
    {
      "commit": "5c6a8a6f41120fa74c9a08f70e865c2c0cc9e7e3",
      "tree": "21be6500af532ee68f52913751424a89af000445",
      "parents": [
        "b3cdf7fef86eb17dba5640e9a1b158510326b9b7",
        "84f4753d1b5f89ace0cc89021916f6f5b44e6540"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 21 12:40:07 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 21 12:40:07 2011 -0800"
      },
      "message": "am 84f4753d: am 56faf66f: raise: Send signal to current thread\n\n* commit \u002784f4753d1b5f89ace0cc89021916f6f5b44e6540\u0027:\n  raise: Send signal to current thread\n"
    },
    {
      "commit": "56faf66fd7a90ea11835f8f0c9a7d6d8b350a09d",
      "tree": "a8064108f7deb59da60863fb26e9a4d8ee64a311",
      "parents": [
        "3c56ce497d1ea3baa6406c49be82c1245fda2443"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 21 11:37:56 2011 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 21 11:39:15 2011 -0800"
      },
      "message": "raise: Send signal to current thread\n\nChange-Id: Ie4318b8ddd01cc2f58f5e07c1d71376953943153\n"
    },
    {
      "commit": "2cc0d38afb4263713f083d4241fb889479f863fc",
      "tree": "86b38b4b4a451c7549c07ccaf256bb5d3691d55a",
      "parents": [
        "eae3fb664ee0e1881c2287b4ff5029da762091fe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Jan 09 09:57:09 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 19 16:14:51 2011 -0800"
      },
      "message": "Bug 3330205, 3362385 clock(3) SMP safety and epoch\n\nChange-Id: Ida1e4400489c8c19818c6af5640ab89942c8f712\n"
    },
    {
      "commit": "95d751feacdb58d3fbc36f3f21a895a3ec2f065b",
      "tree": "fc598e3e60c32a6bb576e224d27f37905769f0e8",
      "parents": [
        "4a7f31fad74417696ce740b1f5c14e4de0740e33"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Dec 16 16:47:14 2010 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Dec 16 17:04:41 2010 +0100"
      },
      "message": "libc: Add ftruncate64 and improve 64-bit parameter syscall handling.\n\nThis patch improves the handling of 64-bit parameters in syscalls on ARM.\nThe ARM EABI mandates that 64-bit quantities be passed in even/odd register\npairs, which requires special treatment.\n\nThis allows us to simplify our implementations of pread() and pwrite()\nand remove the C stubs for pread64() and pwrite64().\n\nAlso add ftruncate64() to \u003cunistd.h\u003e\n\nChange-Id: I407e2fd223ba0093dd2d0b04c6152fadfc9ce3ef\n\nBug 3107933\n"
    },
    {
      "commit": "ff3129b0fe52fabec273077871cb35515465d44b",
      "tree": "04f4da31b746ffdbc9b3e08eceb6e27976e97173",
      "parents": [
        "abdffc4e23f05d07004eeb46e7c0122204c22a55"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Fri Dec 03 16:48:47 2010 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Dec 09 15:17:28 2010 -0800"
      },
      "message": "sigsetmask.c was not processing the \"mask\" argument.\n\nChange-Id: I79b898ea5b882e8c0564e25466e827a9bedda6e8\nAuthor: yhe19 \u003cyunan.he@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "abdffc4e23f05d07004eeb46e7c0122204c22a55",
      "tree": "d1f0f0b513da7c97a77edc1987f7d45160666c64",
      "parents": [
        "0a0c1edd80a908ad4f972cdbf2e5c71774da87fe"
      ],
      "author": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Thu Dec 09 11:57:42 2010 -0800"
      },
      "committer": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Thu Dec 09 11:57:42 2010 -0800"
      },
      "message": "Revert \"sigsetmask.c was not processing the \"mask\" argument.\"\n\nThis reverts commit 9a9c1619b8124f07fc772c0b700e4d411cd78525.\n"
    },
    {
      "commit": "5d7995be2496fd4288563e26fc5864372dc93cdb",
      "tree": "2ced8cb4589c521bb84a17249ab4f71822b7b2fc",
      "parents": [
        "9962cef7c6ba20bcb4d4f5e6a4c923aa335d9107",
        "b11d7c3eca0e5bc04c14afe82a530429f173706c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 06 16:44:30 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 06 16:44:30 2010 -0800"
      },
      "message": "am b11d7c3e: am bcb0a925: Merge \"sigsetmask.c was not processing the \"mask\" argument.\"\n\n* commit \u0027b11d7c3eca0e5bc04c14afe82a530429f173706c\u0027:\n  sigsetmask.c was not processing the \"mask\" argument.\n"
    },
    {
      "commit": "b11d7c3eca0e5bc04c14afe82a530429f173706c",
      "tree": "30e07f36716f906f028db24a2deac96f6ed9c5b4",
      "parents": [
        "24dc936346b4a31005ac28c4bd464320cca9320a",
        "bcb0a925b0d6d545bbd9a4ebd9ac61bdacbfa2fe"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 06 10:55:14 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 06 10:55:14 2010 -0800"
      },
      "message": "am bcb0a925: Merge \"sigsetmask.c was not processing the \"mask\" argument.\"\n\n* commit \u0027bcb0a925b0d6d545bbd9a4ebd9ac61bdacbfa2fe\u0027:\n  sigsetmask.c was not processing the \"mask\" argument.\n"
    },
    {
      "commit": "9a9c1619b8124f07fc772c0b700e4d411cd78525",
      "tree": "86ac51e29c3332031cea185e39d394e85989132d",
      "parents": [
        "1bc98ccb76c147c46bd666f05247eb11e2847d4b"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Fri Dec 03 16:48:47 2010 -0800"
      },
      "committer": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Fri Dec 03 16:48:47 2010 -0800"
      },
      "message": "sigsetmask.c was not processing the \"mask\" argument.\n\nChange-Id: I79b898ea5b882e8c0564e25466e827a9bedda6e8\nAuthor: yhe19 \u003cyunan.he@intel.com\u003e\nSigned-off-by: Bruce Beare \u003cbruce.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "72e64e08697cc2b3d66397c8b6d34965dd2a7338",
      "tree": "8b2e1e6d6954232282b576d0ea1abfc42cf9b758",
      "parents": [
        "c1974ee144156233c9257aed4bd84a482ec5ffcb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Nov 24 13:10:49 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Nov 24 13:14:50 2010 -0800"
      },
      "message": "Add support for pread64/pwrite64\n\n64-bit pread() and pwrite() is needed for ZipFileRO to be able to read\nludicrously large ZIP files just in case someone is crazy enough to do\nit.\n\nAlso fix a license header that was apparently mangled.\n\nChange-Id: I6819ef8b36e46b63b40749c95717b1ecf9307033\n"
    },
    {
      "commit": "168f267723234d3921d6419f0ad36af7e7c965b3",
      "tree": "883adef49cea55eeb65b36560bf79eabc37b6a61",
      "parents": [
        "2410512c4ff29ff9375640261dd7e07fc308930d",
        "ff7d94530db60cf4fe4a4c287ee8821ebdf6263a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Oct 12 01:45:31 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 12 01:45:31 2010 -0700"
      },
      "message": "am ff7d9453: am f67e5211: Merge \"Hide the symbol of helper function __libc_android_abort\"\n\nMerge commit \u0027ff7d94530db60cf4fe4a4c287ee8821ebdf6263a\u0027\n\n* commit \u0027ff7d94530db60cf4fe4a4c287ee8821ebdf6263a\u0027:\n  Hide the symbol of helper function __libc_android_abort\n"
    },
    {
      "commit": "ff7d94530db60cf4fe4a4c287ee8821ebdf6263a",
      "tree": "d96451dc3f2673a4205740c50cb9c8578cd59ad0",
      "parents": [
        "d69ec35bef0d3aa11bfb55501951eed8c3042fda",
        "f67e5211e045af1b12f646448a5a35f96ba5e8f1"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Oct 11 07:27:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 11 07:27:01 2010 -0700"
      },
      "message": "am f67e5211: Merge \"Hide the symbol of helper function __libc_android_abort\"\n\nMerge commit \u0027f67e5211e045af1b12f646448a5a35f96ba5e8f1\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f67e5211e045af1b12f646448a5a35f96ba5e8f1\u0027:\n  Hide the symbol of helper function __libc_android_abort\n"
    },
    {
      "commit": "319de1758cca4efcd18be773aba6c0b7e36dcbaf",
      "tree": "70caf979672d77b24188e7952c7fc2e1d81c22d3",
      "parents": [
        "2336503264b9a274d8c05e9d439000a7b1c42858",
        "686af0b3a5978356be3b1a97187c765d63f11623"
      ],
      "author": {
        "name": "repo sync",
        "email": "digit@google.com",
        "time": "Tue Sep 28 12:48:34 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 12:48:34 2010 -0700"
      },
      "message": "am 686af0b3: resolved conflicts for merge of defd1622 to gingerbread-plus-aosp\n\nMerge commit \u0027686af0b3a5978356be3b1a97187c765d63f11623\u0027\n\n* commit \u0027686af0b3a5978356be3b1a97187c765d63f11623\u0027:\n  libc: add \u003csys/eventfd.h\u003e and corresponding implementations.\n"
    },
    {
      "commit": "2336503264b9a274d8c05e9d439000a7b1c42858",
      "tree": "be583c59a27ce10afa5dc020e3c91f8cbd1d41d9",
      "parents": [
        "37c4305633f30eb7c6ced2233a73e66034643413",
        "a511f245614d8e6c7700df624e13a41a084ad7e4"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 28 12:48:32 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 28 12:48:32 2010 -0700"
      },
      "message": "am a511f245: am 9973a564: libc: Add missing waitid() implementation.\n\nMerge commit \u0027a511f245614d8e6c7700df624e13a41a084ad7e4\u0027\n\n* commit \u0027a511f245614d8e6c7700df624e13a41a084ad7e4\u0027:\n  libc: Add missing waitid() implementation.\n"
    },
    {
      "commit": "defd162212de3789d2268a1f3339c2a6097fa825",
      "tree": "35242a10fe8453224718e9da6db3b44f58d8aa15",
      "parents": [
        "9973a564222b842eb7497fd6e659fe8c8c49e2b3"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Sun Sep 26 22:29:14 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 28 09:20:37 2010 +0200"
      },
      "message": "libc: add \u003csys/eventfd.h\u003e and corresponding implementations.\n\nChange-Id: Ide040884c456190226e580513099fdb8377e015b\n"
    },
    {
      "commit": "9973a564222b842eb7497fd6e659fe8c8c49e2b3",
      "tree": "e1a716e1850f15d9245b82affa0b0e7688b0c782",
      "parents": [
        "a3ae60d343661784e3f6f4566b276d8e6b8a06a7"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Sep 27 17:30:33 2010 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Sep 28 09:18:26 2010 +0200"
      },
      "message": "libc: Add missing waitid() implementation.\n\nChange-Id: I312ee608dbf9249e4886a10d45d13e3cda8a9042\n"
    },
    {
      "commit": "9d16a79b18f43faebbe8155dbc14896e9b7d8a2e",
      "tree": "a97ee2e5c5358a4945322a0dbc594168f80b9bcb",
      "parents": [
        "312be567a03aaf851707a268807ee666b12f8c74"
      ],
      "author": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Mon Sep 27 19:23:06 2010 +0800"
      },
      "committer": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Mon Sep 27 22:20:59 2010 +0800"
      },
      "message": "Hide the symbol of helper function __libc_android_abort\n\nIdeally __libc_android_abort would be static, but it could not be\nbecause gcc would not allow calling a static function from an asm\nstatement.  Instead, using GCC visibility is work around.\n\nChange-Id: Ifff6b9957ca3f0fc03c75c3e42582a48d43cefa2\n"
    },
    {
      "commit": "2304a0bf86f224efdd67e38f34c97f35c5cf3c56",
      "tree": "ce28314e9e002cf08826eeb721f3c19e1f8c33f8",
      "parents": [
        "caaf7ecd1c93e03b81bbe3fbf479969d0562de74"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Wed Aug 11 11:28:26 2010 -0500"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Wed Aug 11 11:28:26 2010 -0500"
      },
      "message": "Fix pwrite to take a const void* instead of void* for the buffer.\n\nChange-Id: I10b315946b8f8f7e34825410dfef37e0220edbee\n"
    },
    {
      "commit": "63673645c4da1cf97938d5018d7d373837563174",
      "tree": "adc1ed82a091c2d38b2682a3acbac00b12b46308",
      "parents": [
        "1a48b588c6de8ae43903768adf53b32545f69986"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Fri Aug 06 11:45:43 2010 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Fri Aug 06 11:47:29 2010 -0700"
      },
      "message": "libc: make lseek64 proto be glibc compatible (loff_t -\u003e off64_t)\n\nChange-Id: Ib79b99be9ca8d4b1f95ceeba416b6abc04187c3c\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "cb7e8c5ef3f5f60a848e469ed40610c8946fe7ac",
      "tree": "57f834d14915d4a63edf62aa0026676064baba8f",
      "parents": [
        "ab8b54101eed0a4b92ebf8fa6994cd1b4f22d8f4"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jul 08 17:19:07 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jul 08 17:20:29 2010 -0700"
      },
      "message": "libc: update alarm() implementation to return 0 on error.\n\nThis matches the GLibc behaviour, and allows alarm(0xFFFFFFFF) to return 0.\n\nChange-Id: I419aa71b27d6bb2015d15ba6b6112bf62eadcbb8\n"
    },
    {
      "commit": "ab8b54101eed0a4b92ebf8fa6994cd1b4f22d8f4",
      "tree": "938dc20fe75d7fcedb7c11c7c44f68aa783463e7",
      "parents": [
        "d466780c7cedb41edcf13f28ad900556c6aaa5b2"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jul 08 16:52:27 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jul 08 16:52:27 2010 -0700"
      },
      "message": "libc: fix fstatfs() implementation.\n\nThe syscall expects the size of the buffer as the second argument.\n\nChange-Id: I99ede2fec7fcd385ca03ff022c2cffa4297bea8d\n"
    },
    {
      "commit": "519763265ec0b634bd9c264a0aca034882458ecc",
      "tree": "263dc7f4fa4256869cea19e6ea8a077d29bd95ad",
      "parents": [
        "a02b93bd75a9d156117264d88069566e447397e2"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jun 28 14:10:14 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jul 02 15:09:57 2010 -0700"
      },
      "message": "libc: Fix sem_post() implementation to wake up all waiting threads.\n\nThis also allows us to optimize the case where we increment an\nuncontended semaphore (no need to call futex_wake() then).\n\nChange-Id: Iad48efe8551dc66dc89d3e3f18c001e5a6c1939f\n"
    },
    {
      "commit": "50ace4fec5e8cb5afcbc656a4556fa528adfd760",
      "tree": "04647e039a457f69ba48a8301bebdd605fda7fca",
      "parents": [
        "6a9b888d7c4b246f6f66360789c72b754ff85021"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 16 16:36:41 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 22 17:51:41 2010 -0700"
      },
      "message": "Remove compiler warnings when building Bionic.\n\nAlso add missing declarations to misc. functions.\nFix clearerr() implementation (previous was broken).\nHandle feature test macros like _POSIX_C_SOURCE properly.\n\nChange-Id: Icdc973a6b9d550a166fc2545f727ea837fe800c4\n"
    },
    {
      "commit": "e8f79c1f5de7ecaf1249ee36813abd2558cacf08",
      "tree": "cabeaa809a3156583c63b4d68329e5ae5cc2f91d",
      "parents": [
        "04ed4a1c888309dc3af3fbeb0a32eb91b3733f23",
        "c6b5cd8d76bdcc046295721d117eae0529aecfc1"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 18 11:33:00 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 18 11:33:00 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I408b5705b18d9e93e66bfbfeec0e3baefd618dec\n"
    },
    {
      "commit": "b44fcd6e8f661e7e795212a3b68aa171ab6e49c9",
      "tree": "958e899894cc2cce7cef9a0e3590b6ab76192325",
      "parents": [
        "16c91eff09e13ab62cea4ef5044518264483faeb"
      ],
      "author": {
        "name": "Mikael Ohlson",
        "email": "mikael.ohlson@stericsson.com",
        "time": "Fri May 21 11:20:39 2010 +0200"
      },
      "committer": {
        "name": "Christian Bejram",
        "email": "christian.bejram@stericsson.com",
        "time": "Wed Jun 16 22:02:20 2010 +0000"
      },
      "message": "Fix for incorrect reply from sysconf(_SC_NPROCESSORS_ONLN)\n\nWhen calling sysconf with _SC_NPROCESSORS_ONLN, the value one (1) was\nreturned on systems with two or more cores, since \u0027/proc/stat\u0027 was\nincorrectly parsed.\n\nThe function line_parser_getc (LineParser* p) read 128 characters of\ninput for each invocation.\n\nThe proper and probably aimed for behavior is to read 128 characters\nat the first call, then for each subsequent call only return the next\nbuffered character until a new read is needed and only then read\nanother 128 characters.\n\nDue to a flipped comparison between the two variables in_len and\nin_pos that track the number of bytes of data read into the input\nbuffer and how much of it has been parsed, a new group of 128\ncharacters were read at almost every call to line_parser_getc,\noverwriting the still unhandled bytes from the previous call to\nread. This caused the lines to be read to be sampled more than parsed.\n\nChange-Id: I93eec3c8c9b9f19ef798748579d0977111b5c0bb\n\nSigned-off-by: Christian Bejram \u003cchristian.bejram@stericsson.com\u003e\n"
    },
    {
      "commit": "038fbae518e904c7aba64779714a22dbeeb90887",
      "tree": "713fecf819f653c56c3f8b2bae0e8e86a7afa2e6",
      "parents": [
        "9205fdf8c689a9cb27cfb33aeb58789c7da75788"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 18:15:57 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 09 18:15:57 2010 -0700"
      },
      "message": "sysconf(): Fix line parser for /proc files.\n\nChange-Id: I2678010ee95933de19c8a8e3b2fe65ceb9b86400\n"
    },
    {
      "commit": "377d4c979dee3dcb5929e8f7a68a53c2407259ab",
      "tree": "1783fe0272f1437faabfe8365e615696eb8d374c",
      "parents": [
        "709a898de82128c065381e258e8e71f0a55df976",
        "1825fb5d5f214849e39d95660795a0d3633f8eeb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 22 15:55:09 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 22 15:55:09 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I70266ee8c520b216773f267e46c8273d2334c31d\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": "9f6915631b918a56e0e6be958fb14d274cbab322",
      "tree": "5d3b311f885dd053f4b816f69e8961ee21c37938",
      "parents": [
        "bd9a90c443ee4582d2be1a68c6f3a2928d130ce4"
      ],
      "author": {
        "name": "Mike Chan",
        "email": "mike@android.com",
        "time": "Tue Mar 02 10:55:58 2010 -0800"
      },
      "committer": {
        "name": "Mike Chan",
        "email": "mike@android.com",
        "time": "Tue Mar 02 18:18:04 2010 -0800"
      },
      "message": "bonic: libc: cpuacct support for setuid functions\n\nAny of the setuid functions now updates /acct/uid/ with its own tid\nbefore changing users. This is so we can properly account for cpu time\nper uid.\n\nChange-Id: I34186cf4d5228cac8439e582a9e26c01ef3011e4\nSigned-off-by: Mike Chan \u003cmike@android.com\u003e\n"
    },
    {
      "commit": "e31c1d0b48b4654d3562fc6c9dd648d72356449e",
      "tree": "b777e461f0d2556bc5183a574ef4e67191347c54",
      "parents": [
        "95604529ec25fe7923ba88312c590f38aa5e3d9e"
      ],
      "author": {
        "name": "Matt Fischer",
        "email": "matt.fischer@garmin.com",
        "time": "Fri Aug 21 15:45:17 2009 -0500"
      },
      "committer": {
        "name": "Garmin Android technology group",
        "email": "android@garmin.com",
        "time": "Fri Feb 12 16:13:46 2010 -0600"
      },
      "message": "Fix pread()/pwrite() stubs\n\nOn ARM EABI, 64-bit function parameters must be aligned\nto an even/odd register pair.  The weird way these stubs\nwere written (using separate lo/hi parameters) prevented\nthis alignment from being enforced by the compiler.\n"
    },
    {
      "commit": "8c59d96e243ba1a05d7d9ab7a14d1a00e20bad4a",
      "tree": "31e06654cca83d98d5b9b1b60a9623404fed99f1",
      "parents": [
        "64ceac3f493e3063a289aec4a12c74787be974e4"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 13 16:39:26 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 15 16:27:04 2010 -0800"
      },
      "message": "Add killpg function\n\nChange-Id:\tI9bc347d264fe38faf2d0f9935d2ebb43a353196e\n"
    },
    {
      "commit": "6458c49c96fd2069a82fa6bb48283b4397087a25",
      "tree": "68fcbb5f16ce4bb500f065129c2cf5297cb59e6f",
      "parents": [
        "0b5db51ea6d9c0b877d2ce26440d963760c38dfe"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 12 12:58:12 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jan 12 12:58:12 2010 -0800"
      },
      "message": "Fix ptsname_r(3) return type to match glibc\n\nThe gHardy man pages specify the return type of ptsname_r to be char*, but the\nreturn value to be 0 on success, negative on error and the gHardy stdlib.h\ndefines extern int ptsname_r(...).\n\nBusybox telnetd fails to run successfully without this change.\n"
    },
    {
      "commit": "99d7907611725e23b6fad3ae7acff4926504e687",
      "tree": "74eb2d8ded9708c4768aab30022cc6307bc39c1e",
      "parents": [
        "278d960aae1b2f0b8a3fa0c8056ba4aded96b133"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 14 17:07:19 2009 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 14 17:07:19 2009 -0800"
      },
      "message": "Fix usleep(3) return type to be POSIX-compliant.\n\nPOSIX usleep(3) returns 0 on successful completion, -1 otherwise:\n  http://www.opengroup.org/onlinepubs/007908799/xsh/usleep.html\n\nThis was found by an external user porting native code:\n  http://groups.google.com/group/android-porting/browse_thread/thread/674848f001db0292\n"
    },
    {
      "commit": "95604529ec25fe7923ba88312c590f38aa5e3d9e",
      "tree": "c6f1dd860fcdc273ab21b696778987261f6e4fa8",
      "parents": [
        "71c0aeb44f2301af85d6a370dbd7308602a1dfe0",
        "194d3fa048cf909ca592dd56fa538dc9cd3f5ddb"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sun Nov 15 12:05:31 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sun Nov 15 12:05:31 2009 -0800"
      },
      "message": "merge from eclair\n"
    },
    {
      "commit": "194d3fa048cf909ca592dd56fa538dc9cd3f5ddb",
      "tree": "3a00bb9e267cf952d7d1140ff9a39ca07ee6c994",
      "parents": [
        "fde8642fc43bdd224e43e5ee9583a49a758fb03c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Nov 12 18:45:14 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Nov 12 18:45:14 2009 -0800"
      },
      "message": "eclair snapshot\n"
    },
    {
      "commit": "83362689f5b1f6393d376d242fe29541b63ead2d",
      "tree": "729a4fc7fd44630738510d1477e968cb7ec0fa3f",
      "parents": [
        "ecac54db21256952b4b4a9c6f17604ec31743183",
        "ad13c57298e57d33c130fb03a2c6494da573408c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Nov 09 08:04:48 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Nov 09 08:04:48 2009 -0800"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "92b10af793da235659198cf38ff2e0237c181058",
      "tree": "66d35bbe34224575dfbf0fde15ec29e424a87ccc",
      "parents": [
        "10093276e98d26428875480c502a278dffe550c7"
      ],
      "author": {
        "name": "Thorsten Glaser",
        "email": "tg@mirbsd.org",
        "time": "Fri Oct 02 15:39:00 2009 +0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Nov 05 15:50:05 2009 -0800"
      },
      "message": "Add the BSD sys_signame array.\n\nSigned-off-by: Thorsten Glaser \u003ctg@mirbsd.org\u003e\n"
    },
    {
      "commit": "b63e4e88b0d13afa431864190b3515a549c16d85",
      "tree": "849f6641a5662202d4b9b596663c981fda5ea541",
      "parents": [
        "73981476a389847e8537cca37503c43e107fadc9",
        "5f32207a3db0bea3ca1c7f4b2b563c11b895f276"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Oct 16 07:28:34 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 16 07:28:34 2009 -0700"
      },
      "message": "am 5f32207a: Wrap ARM abort() to improve stack trace.\n\nMerge commit \u00275f32207a3db0bea3ca1c7f4b2b563c11b895f276\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00275f32207a3db0bea3ca1c7f4b2b563c11b895f276\u0027:\n  Wrap ARM abort() to improve stack trace.\n"
    },
    {
      "commit": "5f32207a3db0bea3ca1c7f4b2b563c11b895f276",
      "tree": "a9a966a87f56d00f0682a66ae8451bcd6d8c2dd4",
      "parents": [
        "5c32826841460294cfba98ff713b4804512bacd1"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu Oct 15 16:07:43 2009 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu Oct 15 16:29:22 2009 -0700"
      },
      "message": "Wrap ARM abort() to improve stack trace.\n\nThe code generated for Thumb and Thumb2 targets has different handling\nfor abort().  Because abort() is \"noreturn\", it doesn\u0027t need to preserve\nthe callee-save registers.  The Thumb2 version trashes LR and makes it\nimpossible to figure out who called abort().\n\nThis inserts a trivial stub function; net effect is stack traces are\nreasonable after an abort().\n\nFor bug 2191452.\n"
    },
    {
      "commit": "73981476a389847e8537cca37503c43e107fadc9",
      "tree": "a60ed9cc386c36ef6937974e0a729c5d429c57b5",
      "parents": [
        "60c221ccfaf67bdd9cadfd151d0bad9d3f8482ce",
        "4e30c09e57a0351daff70f6657794569445be21c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Oct 14 08:18:23 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Oct 14 08:18:23 2009 -0700"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "e36502673d98df089acbc645f077ee0c2be20c5d",
      "tree": "14c5fa566500510d0b37fd1cb6da35c6153ad4d7",
      "parents": [
        "fdc5c1f56f9d21034badb8e4b092c47098f19613"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 06 15:35:22 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Oct 06 16:02:12 2009 -0700"
      },
      "message": "fix [2170898] abort() doesn\u0027t print a stack tarce\n\nthe issue here is that abort() can be called from anywhere, in particular\nfrom malloc or free. When we try to use the debug_log functions, these\ncan end up calling into some code (like malloc/free) that called abort()\nin the first place and end up in an infinite recursion loop.\n"
    },
    {
      "commit": "336efb5267e465ac52d78327d37f79553b3f0584",
      "tree": "5113da0deda9f253fd6964e129132b8a2fb8545e",
      "parents": [
        "90ec5f2a3f581927ffef55733e8d531890fdc90e"
      ],
      "author": {
        "name": "Tony Sim",
        "email": "sim.chinyeow@renesas.com",
        "time": "Wed Jul 01 15:35:27 2009 +0900"
      },
      "committer": {
        "name": "Tony Sim",
        "email": "sim.chinyeow@renesas.com",
        "time": "Wed Jul 01 15:35:27 2009 +0900"
      },
      "message": "added syscalls for SuperH which automatically generate by gensyscalls.py\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": "7d9dcdc82a871926e5e3a27143908fa3f4181b5f",
      "tree": "9f06bfedddae069d0388739f5f2779472da5dc7f",
      "parents": [
        "6f04a0f4c72acff80dad04828cb69ef67fa609d1"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 20 07:38:28 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 20 07:38:28 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@132569\n"
    },
    {
      "commit": "d37527501c85edcb3a6a7c8a0b6297d52d434897",
      "tree": "f005d945ce90569b8e63cf42294ab42dddab52c2",
      "parents": [
        "e5cc1f386b167b9f7bfdebc7219e89aa9b71e4b2"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:55 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:55 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@127101\n"
    },
    {
      "commit": "e5cc1f386b167b9f7bfdebc7219e89aa9b71e4b2",
      "tree": "2cbd43daa6744ed80e833528f8cbfc0c485e5253",
      "parents": [
        "6d6c82c7a0a6b9a89f61b61c66f9b90d9c7177dc"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 15 16:12:07 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 15 16:12:07 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@126645\n"
    },
    {
      "commit": "4e468ed2eb86a2406e14f1eca82072ee501d05fd",
      "tree": "4e05b3c66eef86531e464521a3bf96a1864d4bf5",
      "parents": [
        "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\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"
    }
  ]
}
