)]}'
{
  "log": [
    {
      "commit": "bd95c1d3af82e329ada195876348383b7859ce85",
      "tree": "4cec70ab5bc29efff8cfaaabcf36db4f8a7ae6e2",
      "parents": [
        "6441a76b2ed24eddcadc6a0763dd674c3aa38c46"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 24 13:57:29 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 24 13:57:29 2009 -0700"
      },
      "message": "Only report \"unknown metadata\" once per restore helper\n\nAlso removes the auto-free object, replacing it with direct memory manipulation.\n"
    },
    {
      "commit": "ab2e9e81e187d427b22ac969f47900d3de041264",
      "tree": "8e455d00eed9db3596d4c0cbe5ff3e72624e43d4",
      "parents": [
        "e9107fd74515b46f774aa31f391dceeaeff887d3"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 23 13:03:00 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 23 13:07:47 2009 -0700"
      },
      "message": "Add file mode to the file-backup saved state blobs\n\nThis change puts the file\u0027s access mode into the saved-state blob used by the\nfile backup helpers.  The tests have been updated for the new blob content\nformat.\n\nWhat this change *doesn\u0027t* do is actually backup/restore the file mode.  This\nchange is a prerequisite for that, but mode preservation in backup/restore will\nrequire adding metadata to the backup data stream itself, so will be approached\na bit more carefully.\n\n(Also fixed one outright bug in the test program: ReadEntityData() had been\nchanged to return a ssize_t union of either a byte-count or a negative number\nindicating error, but the test program was still assuming that nonzero \u003d\u003d error,\nand was spuriously failing.)\n"
    },
    {
      "commit": "9cda3e02c6154422abec1c3215b93cc6bb70d76a",
      "tree": "1ee13094dcc54121c3c1096d0ec0b9540813e941",
      "parents": [
        "292ae4f642709eb42974d9c1a26ab80921518c54"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 20:10:37 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 22 13:02:24 2009 -0700"
      },
      "message": "Helper API cleanup.  Allows multiple helpers to function,\nbecause they\u0027ll always go in the same order, and this lets\nus not have to write headers to keep them paired.\n"
    },
    {
      "commit": "6bda7fd5564a1a88daef7a00890b3eaa191b8854",
      "tree": "0bdda15863c0e050672738f8acb819ef7fb2e2c1",
      "parents": [
        "da1430be269b2b20920b6cb27616f54e2b83a973"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 18:23:43 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 18:41:11 2009 -0700"
      },
      "message": "backup stuff\n"
    },
    {
      "commit": "da1430be269b2b20920b6cb27616f54e2b83a973",
      "tree": "a262f22df1bf4797e25bfe2209416dbcfe465f1b",
      "parents": [
        "fa1cf39b803d71ac22af606ce0dd9dd81d512325"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 13:11:18 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 18:41:11 2009 -0700"
      },
      "message": "Make RestoreHelper and friends also write out the snapshot state.\n"
    },
    {
      "commit": "f509f669cfde367b4591b027d95512accbd2ccef",
      "tree": "62ca6fc3dcb6c4e2f005d95422ec32a59cb1cca5",
      "parents": [
        "74b00231cc0ecca02a76cf7d2ee20db05fa2309e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 17 16:20:55 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 17 16:20:55 2009 -0700"
      },
      "message": "FileRestoreHelper and RestoreHelperDispatcher work.\n"
    },
    {
      "commit": "03aa8d7d04428b9c7981f9bada5acf1e808b0056",
      "tree": "a1a5e71e6912eb35a5cf10d1a0fe5b156bcd82da",
      "parents": [
        "4d86bc379151050bf6b76da54b683cab7afff00e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 16 16:31:35 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 16 18:46:50 2009 -0700"
      },
      "message": "checkpoint BackupDatAInput / RestoreHelper\n"
    },
    {
      "commit": "1a9e19a73e12f5e4891557de64cab5b9b7ae1ac5",
      "tree": "a8ac144dc38834a992ff8a07fed46a51755ba8a1",
      "parents": [
        "0ad6120dadc1665f394e73330d30e949066c77e1"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 11 11:27:16 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 11 14:51:45 2009 -0700"
      },
      "message": "Make the file backup helper not crash if a file you requested\ncan\u0027t be stated.  This means you don\u0027t need to know if the files\nyou are backing up exist or not -- we\u0027ll figure it out for you.\n"
    },
    {
      "commit": "0ad6120dadc1665f394e73330d30e949066c77e1",
      "tree": "2bdfbd1b67328716af81e2dd8ec37cc41690c249",
      "parents": [
        "67182a34f0268dcda9442f0a211f88e12626aa3b"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 10 17:07:15 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 11 11:29:57 2009 -0700"
      },
      "message": "Fix SharedPrefsBackupHelper so it doesn\u0027t hard code the paths to the files.\n\nThis took quite a bit of refactoring.\n"
    },
    {
      "commit": "f446ba9dcb7df59f886be2f15d83ed3814a556f7",
      "tree": "56fef80823c51f03029cf3cf154ec431fa951443",
      "parents": [
        "b2d4ba5bb25c7cfe5c81ebd16b124db328d0d735"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 04 13:53:57 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 04 13:53:57 2009 -0700"
      },
      "message": "rename a few files to camel-case, add copyright notices\n"
    },
    {
      "commit": "473b6e2d2de9f204e020c87b63a4e9b665641f45",
      "tree": "6509039f5cea6ff967a424672004b3be64742c32",
      "parents": [
        "307738da27d460cadaf9e8e3c8dfc3e77e169009"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue May 19 13:41:21 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed May 20 11:24:20 2009 -0700"
      },
      "message": "Hook up the backup data writer, and add a utility to read the backup data files.\n"
    },
    {
      "commit": "d502f05c6b355a0520781e6609dc8a2a5ce89f9e",
      "tree": "3577384dd6228cbbba95566f5a9b463c400cbb9f",
      "parents": [
        "8d626d6a48871fdb62b8adeea98e1299eca61184"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 15 18:20:19 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 15 18:20:19 2009 -0400"
      },
      "message": "Add the backup data file writer C++ class.\n"
    },
    {
      "commit": "8d626d6a48871fdb62b8adeea98e1299eca61184",
      "tree": "bd7acdb12c4c33debf1e579be311b524713cce59",
      "parents": [
        "dff73b85fef1000571f558314ca5161ed1b67ac0"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 15 09:07:06 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 15 10:37:10 2009 -0400"
      },
      "message": "Implement the C++ class to write the backed up file data.\n"
    },
    {
      "commit": "c7bbc69ed501a7d194c1cbb9c41e2681d3004bd9",
      "tree": "2db88e9f1a42bf5dfbbe01580a6e8071666179e9",
      "parents": [
        "289ab2c5d17d0d4214ee4f274d411b086116b7d6"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed May 13 18:57:29 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu May 14 09:39:32 2009 -0400"
      },
      "message": "Get the backup calling through to the file backup helper.\n\nThis includes some cleanup to make the parameters match\nbetween BackupService.onBackup and FileBackupHelper.performBackup.\n"
    },
    {
      "commit": "2a98fb9fb1eda1f18cf1555634a7c33f3147234c",
      "tree": "9bc7f08736492bedcd162cd85c4c8dae7335ce2a",
      "parents": [
        "bed158f1def27bf7f5b89cf6f98dff365cf4660a"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed May 06 12:55:46 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 08 09:33:19 2009 -0700"
      },
      "message": "fix the sim build.  disables the tests for now.\n"
    },
    {
      "commit": "0c4863b2669867cfc76ea9b50ea3f9b1fecfb9a4",
      "tree": "4944927123cae9802b2dc08962144db681a31c83",
      "parents": [
        "512ec5aae12c9c5c2f0ad64e8b467a33217e835c"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue May 05 11:50:51 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue May 05 13:45:25 2009 -0700"
      },
      "message": "Add some C++ code to do raw files for backup\n"
    }
  ]
}
