)]}'
{
  "commit": "46cc43c6fa7623820d4ae9149496cf96bb15f8a3",
  "tree": "fe3a33bcdf0dc82414eb274aedefaef53aace059",
  "parents": [
    "32884c376fd06799f46ea3b1ded89ba9d21f8f14"
  ],
  "author": {
    "name": "Christopher Tate",
    "email": "ctate@google.com",
    "time": "Tue Feb 19 14:08:59 2013 -0800"
  },
  "committer": {
    "name": "Christopher Tate",
    "email": "ctate@google.com",
    "time": "Thu Mar 07 13:47:20 2013 -0800"
  },
  "message": "Full backup/restore now handles OBBs sensibly\n\nOBB backup/ restore is no longer handled within the target app\nprocess.  This is done to avoid having to require that OBB-using\napps have full read/write permission for external storage.\n\nThe new OBB backup service is a new component running in the\nsame app as the already-existing shared storage backup agent.\nThe backup infrastructure delegates backup/restore of apps\u0027\nOBB contents to this component (because the system process\nmay not itself read/write external storage).\n\nFrom the command line, OBB backup is enabled by using new\n-obb / -noobb flags with adb backup.  The default is noobb.\n\nFinally, a couple of nit fixes:\n\n- buffer-size mismatch between the writer and reader of chunked\n  file data has been corrected; now the reading side won\u0027t be\n  issuing an extra pipe read per chunk.\n\n- bu now explicitly closes the transport socket fd after\n  adopting it. This was benign but triggered a logged\n  warning about leaked fds.\n\nBug: 6718844\nChange-Id: Ie252494e2327e9ab97cf9ed87c298410a8618492\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1b893f17ce30f8ab844f7290ff5b62acce003f35",
      "old_mode": 33188,
      "old_path": "Android.mk",
      "new_id": "efda846c1d3ad66cd33db311879d4cddd157941f",
      "new_mode": 33188,
      "new_path": "Android.mk"
    },
    {
      "type": "modify",
      "old_id": "046ccca9b02a2b2c8adc155d0a37fa98164d6ae8",
      "old_mode": 33188,
      "old_path": "cmds/bu/src/com/android/commands/bu/Backup.java",
      "new_id": "73fd66072d7fd6954f2aa984ea436d54ff79b348",
      "new_mode": 33188,
      "new_path": "cmds/bu/src/com/android/commands/bu/Backup.java"
    },
    {
      "type": "modify",
      "old_id": "44aa06fecd7481a7c336db9c562f7bc6b2dfec86",
      "old_mode": 33188,
      "old_path": "core/java/android/app/backup/BackupAgent.java",
      "new_id": "342576553b616bedb5fb6fcd791aa62c567076db",
      "new_mode": 33188,
      "new_path": "core/java/android/app/backup/BackupAgent.java"
    },
    {
      "type": "modify",
      "old_id": "2fe08f34b49e07fe0b96b0abc814d4fd16522a1a",
      "old_mode": 33188,
      "old_path": "core/java/android/app/backup/FullBackup.java",
      "new_id": "cb0737e3ad724cfab8ddd2f792f4e79c9ff2701e",
      "new_mode": 33188,
      "new_path": "core/java/android/app/backup/FullBackup.java"
    },
    {
      "type": "modify",
      "old_id": "acdd0b54559a3b65c6298314322f6af55f03a297",
      "old_mode": 33188,
      "old_path": "core/java/android/app/backup/IBackupManager.aidl",
      "new_id": "bb4f5f160bbeb42c820051ec0e432f71aef2853f",
      "new_mode": 33188,
      "new_path": "core/java/android/app/backup/IBackupManager.aidl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "426dbc4009c5bbd4adf4bcdd9f1379643e1c8cfb",
      "new_mode": 33188,
      "new_path": "core/java/com/android/internal/backup/IObbBackupService.aidl"
    },
    {
      "type": "modify",
      "old_id": "dcf41b70d792c860b8f06c43f33e2400c152c475",
      "old_mode": 33188,
      "old_path": "libs/androidfw/BackupHelpers.cpp",
      "new_id": "b8d3f48e3347e964735400d4ae0ace38bda350bc",
      "new_mode": 33188,
      "new_path": "libs/androidfw/BackupHelpers.cpp"
    },
    {
      "type": "modify",
      "old_id": "fc21df305bb29a8e07ddaf07d855ae44534931b0",
      "old_mode": 33188,
      "old_path": "packages/SharedStorageBackup/AndroidManifest.xml",
      "new_id": "b8df88eb613360c8649e4fb7e73a44da17cb4fda",
      "new_mode": 33188,
      "new_path": "packages/SharedStorageBackup/AndroidManifest.xml"
    },
    {
      "type": "modify",
      "old_id": "f43cb819b19072efb2f48ee2614654080537588f",
      "old_mode": 33188,
      "old_path": "packages/SharedStorageBackup/proguard.flags",
      "new_id": "6a66a47e30504595ec18315e0c61d767cbd2821d",
      "new_mode": 33188,
      "new_path": "packages/SharedStorageBackup/proguard.flags"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7ebe096e3f495e0eba2c780e75c13f3c68de166e",
      "new_mode": 33188,
      "new_path": "packages/SharedStorageBackup/src/com/android/sharedstoragebackup/ObbBackupService.java"
    },
    {
      "type": "modify",
      "old_id": "401a25f4eba41f11374897a729e61e56b9518b1b",
      "old_mode": 33188,
      "old_path": "services/java/com/android/server/BackupManagerService.java",
      "new_id": "328b503e759d9cbff25e76242a6d3da463b6b2bc",
      "new_mode": 33188,
      "new_path": "services/java/com/android/server/BackupManagerService.java"
    }
  ]
}
