)]}'
{
  "commit": "7bfea3d59cdcd275be73bc4eba343ee6a5d3b06b",
  "tree": "8c8b569efb2a27b9daa7307558c2b994c8c26f8c",
  "parents": [
    "13856a05e7e06fae3ed9668de17aa40fdf3aca47"
  ],
  "author": {
    "name": "Tom Cherry",
    "email": "tomcherry@google.com",
    "time": "Tue Nov 06 14:12:05 2018 -0800"
  },
  "committer": {
    "name": "Tom Cherry",
    "email": "tomcherry@google.com",
    "time": "Mon Nov 12 16:08:19 2018 -0800"
  },
  "message": "init: clean up the 1st/2nd stage init split\n\nThe first split of 1st/2nd stage init went a bit overboard, since it\nsplit these even in the case of the recovery image and system-as-root,\nwhich don\u0027t actually need the split.  This change simplifies this a\nbit:\n\nsystem-as-root and recovery have a single combined /system/bin/init\nand a symlink from /init to it.\n\nnon-system-as-root has a separate first stage init at /init on the\nfirst stage ramdisk and a combined /system/bin/init on system.img.\n\nTwo particular benefits from this:\n1) Removal of the rsync of TARGET_RAMDISK_OUT to the recovery image\n2) Decrease of overall space on the recovery image since it won\u0027t have\n   a statically linked first stage init\n\nThis also unified the various entry points of init to depend entirely\non the arguments passed to it, instead of the hybrid of arguments and\nenvironment variable used previously.\n\nBug: 80395578\nTest: boot both system-as-root and non-system-as-root\nChange-Id: Ic2f29b6f56b7defc80eaa0e7cd0c9107e978816f\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ff3b61fe23d82c46391460888d843d43201957f4",
      "old_mode": 33188,
      "old_path": "init/Android.bp",
      "new_id": "d82ec66c01e0707ef35cd6c378526c49b97e32fa",
      "new_mode": 33188,
      "new_path": "init/Android.bp"
    },
    {
      "type": "modify",
      "old_id": "dc46d21c51da6fcce0427db3cc4937f7516bc1fb",
      "old_mode": 33188,
      "old_path": "init/Android.mk",
      "new_id": "700c81e39a19ad289de2a29b7edc95009504204c",
      "new_mode": 33188,
      "new_path": "init/Android.mk"
    },
    {
      "type": "rename",
      "old_id": "c2c686885e40b0099dc4ce1cee3303434761052a",
      "old_mode": 33188,
      "old_path": "init/init_first_stage.cpp",
      "new_id": "e11d8976801e8fd683f46f4df894a1b8bdb095f5",
      "new_mode": 33188,
      "new_path": "init/first_stage_init.cpp",
      "score": 97
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0476e4431a2c5312ef337cc855093d3f3b370b1b",
      "new_mode": 33188,
      "new_path": "init/first_stage_init.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7bae84cae5ad73754a3bb10547090b3e0a970413",
      "new_mode": 33188,
      "new_path": "init/first_stage_main.cpp"
    },
    {
      "type": "modify",
      "old_id": "e7dbc119737b75c2740c69c698c14bc583c65a82",
      "old_mode": 33188,
      "old_path": "init/init.cpp",
      "new_id": "39c18327a85f6d94b39df6c131acba01152cf837",
      "new_mode": 33188,
      "new_path": "init/init.cpp"
    },
    {
      "type": "modify",
      "old_id": "65405aaeb2dd2a2edcebb0a06a53f120d7f752fe",
      "old_mode": 33188,
      "old_path": "init/init.h",
      "new_id": "a76da20143c34a495f7a68f01a49d6cdc49b86c3",
      "new_mode": 33188,
      "new_path": "init/init.h"
    },
    {
      "type": "modify",
      "old_id": "9ed451b167878b204a4b6bf0e2f6c2176b2715c5",
      "old_mode": 33188,
      "old_path": "init/main.cpp",
      "new_id": "868c409d0b7853465d01668f35cbec40b85bf18c",
      "new_mode": 33188,
      "new_path": "init/main.cpp"
    },
    {
      "type": "modify",
      "old_id": "fd7e86f8a09c9fa34ebc4ff0ae9f3519ab44c305",
      "old_mode": 33188,
      "old_path": "init/selinux.cpp",
      "new_id": "3a0909664a8ab90bd272acd8ecfbae7731f6afa4",
      "new_mode": 33188,
      "new_path": "init/selinux.cpp"
    },
    {
      "type": "modify",
      "old_id": "c41d7f0d9b218acaf99eb48bd72f3dd435ae7a84",
      "old_mode": 33188,
      "old_path": "init/selinux.h",
      "new_id": "3aa94063e1818991200574bf5f4b6fad6c5f264a",
      "new_mode": 33188,
      "new_path": "init/selinux.h"
    }
  ]
}
