)]}'
{
  "commit": "5704c423c81790195161c1757ae79da188590c51",
  "tree": "66ebd378fb496400d35ad38a8c4eb25931ad30f2",
  "parents": [
    "ac67b4eb7c70ea668abb32298b0cb16920a32a66"
  ],
  "author": {
    "name": "Elliott Hughes",
    "email": "enh@google.com",
    "time": "Mon Jan 25 18:06:24 2016 -0800"
  },
  "committer": {
    "name": "Elliott Hughes",
    "email": "enh@google.com",
    "time": "Tue Jan 26 11:09:44 2016 -0800"
  },
  "message": "Implement POSIX lockf.\n\nThis has been requested a few times over the years. This is basically\na very late rebase of https://android-review.googlesource.com/45470\nwhich was abandoned years ago. One addition is that this version has\n_FILE_OFFSET_BITS\u003d64 support.\n\nPOSIX puts this in \u003cunistd.h\u003e. glibc also has it in \u003cfcntl.h\u003e.\n\nBug: http://b/13077650\nChange-Id: I5862b1dc326e326c01ad92438ecc1578d19ba739\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "092393990eb4b7b1af5048957612df47b3a7736c",
      "old_mode": 33188,
      "old_path": "libc/Android.mk",
      "new_id": "bcb4afc0972335b38ee5b0beb9c19de30aa2b7cd",
      "new_mode": 33188,
      "new_path": "libc/Android.mk"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1510b3d372b83d342a855bd3ac8cbfaa28787946",
      "new_mode": 33188,
      "new_path": "libc/bionic/lockf.cpp"
    },
    {
      "type": "copy",
      "old_id": "94cbd7ec53c573ffd8411feda774389a32814d9c",
      "old_mode": 33188,
      "old_path": "libc/include/machine/wchar_limits.h",
      "new_id": "d814807161a70f01445ea1dbea1efcccd0c38888",
      "new_mode": 33188,
      "new_path": "libc/include/bits/lockf.h",
      "score": 77
    },
    {
      "type": "rename",
      "old_id": "787af5c21fd1b361b20bf43e6377fed9faec1f3f",
      "old_mode": 33188,
      "old_path": "libc/include/machine/posix_limits.h",
      "new_id": "31016a807964f839b55e1068c0fb6e11e1f65855",
      "new_mode": 33188,
      "new_path": "libc/include/bits/posix_limits.h",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "900541c15cb039ebd03c5fe37ee7fe2a5d971056",
      "old_mode": 33188,
      "old_path": "libc/include/machine/pthread_types.h",
      "new_id": "6ac1c68f304fd8fc81749273f221fd0036ea361c",
      "new_mode": 33188,
      "new_path": "libc/include/bits/pthread_types.h",
      "score": 93
    },
    {
      "type": "rename",
      "old_id": "11779ae43ee3b3604748b29bae7522a32eab5203",
      "old_mode": 33188,
      "old_path": "libc/include/machine/timespec.h",
      "new_id": "046d89809d64a91962d5ebf2f32363d43169d2ae",
      "new_mode": 33188,
      "new_path": "libc/include/bits/timespec.h",
      "score": 94
    },
    {
      "type": "rename",
      "old_id": "94cbd7ec53c573ffd8411feda774389a32814d9c",
      "old_mode": 33188,
      "old_path": "libc/include/machine/wchar_limits.h",
      "new_id": "f779c1aaaf7a988f19e1ae415b026091bec830f6",
      "new_mode": 33188,
      "new_path": "libc/include/bits/wchar_limits.h",
      "score": 93
    },
    {
      "type": "modify",
      "old_id": "0f016d71895f911a70330c4d7c55a46e59c1d100",
      "old_mode": 33188,
      "old_path": "libc/include/fcntl.h",
      "new_id": "6e2ad5165c16529261684206892f7de8ba14c550",
      "new_mode": 33188,
      "new_path": "libc/include/fcntl.h"
    },
    {
      "type": "modify",
      "old_id": "67c7719cac0651fd06e63176023d3e2b744ab202",
      "old_mode": 33188,
      "old_path": "libc/include/limits.h",
      "new_id": "342217b8eadec689fb4915e47626c3a2a496f306",
      "new_mode": 33188,
      "new_path": "libc/include/limits.h"
    },
    {
      "type": "modify",
      "old_id": "21d34fb28875e23c489e628da0f3972d03f12e25",
      "old_mode": 33188,
      "old_path": "libc/include/pthread.h",
      "new_id": "50f202457cdaf8707e4d68f740d68fa170e5191a",
      "new_mode": 33188,
      "new_path": "libc/include/pthread.h"
    },
    {
      "type": "modify",
      "old_id": "930dd7c85f2364f7cac86b854e30b57bed8d8a93",
      "old_mode": 33188,
      "old_path": "libc/include/sched.h",
      "new_id": "0b9235b5623bafb1fde34f6070c089e6ffb3ce34",
      "new_mode": 33188,
      "new_path": "libc/include/sched.h"
    },
    {
      "type": "modify",
      "old_id": "7a171b4d03a7f1927a1f6b099ba07cb493a2aebd",
      "old_mode": 33188,
      "old_path": "libc/include/signal.h",
      "new_id": "85c46c017179942512f0e17c2c91b37b3d2327fb",
      "new_mode": 33188,
      "new_path": "libc/include/signal.h"
    },
    {
      "type": "modify",
      "old_id": "a6f8505f43163951cb7ef2091f2257a150ad3a79",
      "old_mode": 33188,
      "old_path": "libc/include/stdint.h",
      "new_id": "a66e21ef1bb7a303752d89dded57e4a902d134c6",
      "new_mode": 33188,
      "new_path": "libc/include/stdint.h"
    },
    {
      "type": "modify",
      "old_id": "65aa19077598a9e0bacc28b838b816b2f5a3cf60",
      "old_mode": 33188,
      "old_path": "libc/include/sys/stat.h",
      "new_id": "257ded06d07599f06632eb8ffa9e16747b33f93d",
      "new_mode": 33188,
      "new_path": "libc/include/sys/stat.h"
    },
    {
      "type": "modify",
      "old_id": "23b47a3720020f94b7b3814c2b159e598b2bf783",
      "old_mode": 33188,
      "old_path": "libc/include/unistd.h",
      "new_id": "5045267a2d312e0e51dae24aee44005de7978cea",
      "new_mode": 33188,
      "new_path": "libc/include/unistd.h"
    },
    {
      "type": "modify",
      "old_id": "ea6aca03c4eb8741075810e6cd229a86c3bddf6e",
      "old_mode": 33188,
      "old_path": "libc/include/wchar.h",
      "new_id": "0a94cee3fab2d4a703c85f01819d342c84e6e065",
      "new_mode": 33188,
      "new_path": "libc/include/wchar.h"
    },
    {
      "type": "modify",
      "old_id": "95f7cba432ddc48d5cf1c7343dede56d445bd227",
      "old_mode": 33188,
      "old_path": "libc/libc.arm.brillo.map",
      "new_id": "4de7b2b9b643213dcf809bd3af6b1c8fa30263f6",
      "new_mode": 33188,
      "new_path": "libc/libc.arm.brillo.map"
    },
    {
      "type": "modify",
      "old_id": "90b1db3e9e2b9aba89b8ea747cbde7c8ca258eef",
      "old_mode": 33188,
      "old_path": "libc/libc.arm.map",
      "new_id": "1f26a605fc19fd0a4601db65193beb6c09f820ad",
      "new_mode": 33188,
      "new_path": "libc/libc.arm.map"
    },
    {
      "type": "modify",
      "old_id": "e5933ae7b78a9c07f9ae47b82dd18315999b8c5b",
      "old_mode": 33188,
      "old_path": "libc/libc.arm64.map",
      "new_id": "fbeaa0d13bdf7eaf8f2ed67e77d4fb689339aa5b",
      "new_mode": 33188,
      "new_path": "libc/libc.arm64.map"
    },
    {
      "type": "modify",
      "old_id": "928f10d2a44e0733290fdb740d8ee572f62686c7",
      "old_mode": 33188,
      "old_path": "libc/libc.map.txt",
      "new_id": "e5cae49e69f8a0e535ed33460e9c82eaeb821dfd",
      "new_mode": 33188,
      "new_path": "libc/libc.map.txt"
    },
    {
      "type": "modify",
      "old_id": "691a22ab7536045228a9a9f2b463389bf2e02120",
      "old_mode": 33188,
      "old_path": "libc/libc.mips.brillo.map",
      "new_id": "98ae6f889256c6d474e1f027c5c7d1e7e7c5b263",
      "new_mode": 33188,
      "new_path": "libc/libc.mips.brillo.map"
    },
    {
      "type": "modify",
      "old_id": "04c76d4ec4b02f855eedfda50fc67fef4c82740c",
      "old_mode": 33188,
      "old_path": "libc/libc.mips.map",
      "new_id": "79bca0b8334a0d8a644172b4c1d36237b19f61f2",
      "new_mode": 33188,
      "new_path": "libc/libc.mips.map"
    },
    {
      "type": "modify",
      "old_id": "e5933ae7b78a9c07f9ae47b82dd18315999b8c5b",
      "old_mode": 33188,
      "old_path": "libc/libc.mips64.map",
      "new_id": "fbeaa0d13bdf7eaf8f2ed67e77d4fb689339aa5b",
      "new_mode": 33188,
      "new_path": "libc/libc.mips64.map"
    },
    {
      "type": "modify",
      "old_id": "fbd708562982b1635907ab7d5ee862c7caa04882",
      "old_mode": 33188,
      "old_path": "libc/libc.x86.brillo.map",
      "new_id": "8792e6a7e5d30054c3c0cb7de63993a794542733",
      "new_mode": 33188,
      "new_path": "libc/libc.x86.brillo.map"
    },
    {
      "type": "modify",
      "old_id": "bcabf71a24bf873f3d6f85325c8de5ab82879f66",
      "old_mode": 33188,
      "old_path": "libc/libc.x86.map",
      "new_id": "4835a4e124ea6d274c984618c69870d2e0570acd",
      "new_mode": 33188,
      "new_path": "libc/libc.x86.map"
    },
    {
      "type": "modify",
      "old_id": "e5933ae7b78a9c07f9ae47b82dd18315999b8c5b",
      "old_mode": 33188,
      "old_path": "libc/libc.x86_64.map",
      "new_id": "fbeaa0d13bdf7eaf8f2ed67e77d4fb689339aa5b",
      "new_mode": 33188,
      "new_path": "libc/libc.x86_64.map"
    },
    {
      "type": "modify",
      "old_id": "5f412ce6687d75a730ec2bf08e7784b76da181f1",
      "old_mode": 33188,
      "old_path": "tests/unistd_test.cpp",
      "new_id": "5ef54a4ec38997dd03f35aabe46e837dbd1bd2c9",
      "new_mode": 33188,
      "new_path": "tests/unistd_test.cpp"
    }
  ]
}
