)]}'
{
  "commit": "83a4cf269f7795c6d9159fa7521a738b19d992d8",
  "tree": "41f44fa294ede233beb33e5fd1d87240ac83075f",
  "parents": [
    "8838a8fbfa5ce812f7463e5c08c8965082a6b3a5"
  ],
  "author": {
    "name": "Ian Hickson",
    "email": "ian@hixie.ch",
    "time": "Wed Feb 08 18:16:19 2017 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Feb 08 18:16:19 2017 -0800"
  },
  "message": "Port AppBar to Scrollable2 (#7996)\n\nMove the back button and drawer opening logic into the app bar.\r\n\r\nMove the tap-status-bar-to-scroll-to-top logic to using\r\nScrollControllers. Provide a PrimaryScrollController and a `primary`\r\nflag on scroll views.\r\n\r\nMake it possible to track when a route becomes or stops being poppable.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cfeed0acad9afe9007f56a8270b0bc16f99872ba",
      "old_mode": 33188,
      "old_path": "examples/flutter_gallery/lib/demo/contacts_demo.dart",
      "new_id": "9068c7b58f130ca922982f0ebe13b14e60906c42",
      "new_mode": 33188,
      "new_path": "examples/flutter_gallery/lib/demo/contacts_demo.dart"
    },
    {
      "type": "modify",
      "old_id": "d21c91291dbef9df9f76d1877242464b5c9f77f0",
      "old_mode": 33188,
      "old_path": "examples/flutter_gallery/lib/demo/pesto_demo.dart",
      "new_id": "9c3b185026a88ca6980c6503812300d53fe336ac",
      "new_mode": 33188,
      "new_path": "examples/flutter_gallery/lib/demo/pesto_demo.dart"
    },
    {
      "type": "modify",
      "old_id": "c134e7c76df7bef1e2304b55c4b35780d80f3a7a",
      "old_mode": 33188,
      "old_path": "examples/flutter_gallery/lib/demo/shrine/shrine_page.dart",
      "new_id": "9a891c612ab21841106729971e12c2ae74b0e3e3",
      "new_mode": 33188,
      "new_path": "examples/flutter_gallery/lib/demo/shrine/shrine_page.dart"
    },
    {
      "type": "modify",
      "old_id": "a0bcdee5685ce2dfa019857e869c2b749dc87ce3",
      "old_mode": 33188,
      "old_path": "examples/flutter_gallery/lib/gallery/home.dart",
      "new_id": "a9c33e39db96556e88c95e9b1aa092db489b2b38",
      "new_mode": 33188,
      "new_path": "examples/flutter_gallery/lib/gallery/home.dart"
    },
    {
      "type": "modify",
      "old_id": "f5abce713d3fcae38f5093a85f01746673d44fbb",
      "old_mode": 33188,
      "old_path": "examples/flutter_gallery/test/example_code_display_test.dart",
      "new_id": "6fdee5b81a45044167c59fc1f5667964919fd482",
      "new_mode": 33188,
      "new_path": "examples/flutter_gallery/test/example_code_display_test.dart"
    },
    {
      "type": "modify",
      "old_id": "bc70e4b39f621860dc3f2532f7035e4d967d9dc4",
      "old_mode": 33188,
      "old_path": "examples/flutter_gallery/test/smoke_test.dart",
      "new_id": "47d44c1d4dcaefa1e5e303e349ae78a508364337",
      "new_mode": 33188,
      "new_path": "examples/flutter_gallery/test/smoke_test.dart"
    },
    {
      "type": "modify",
      "old_id": "37807743de375b67e29b063cd970f32b73ad4d04",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/material/app_bar.dart",
      "new_id": "2b13d847aba61324a17611fe9a9c70b643ff4c59",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/material/app_bar.dart"
    },
    {
      "type": "modify",
      "old_id": "798622797f4bba23e0a1cdbc7ea7d98b8ce5cd90",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/material/flexible_space_bar.dart",
      "new_id": "f7e81dc88c38c0a53007071993067f9515e5f7c0",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/material/flexible_space_bar.dart"
    },
    {
      "type": "modify",
      "old_id": "ab1edafca7712e399e84feacd34508874440de6b",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/material/scaffold.dart",
      "new_id": "b67486676723c935d44b0572d084d14d6f9b807c",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/material/scaffold.dart"
    },
    {
      "type": "modify",
      "old_id": "8fc781edcfe65d791994b28cdfd628bede29cafc",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/rendering/semantics.dart",
      "new_id": "6450db20000c37c90e342c3e8d40630debc59d86",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/rendering/semantics.dart"
    },
    {
      "type": "modify",
      "old_id": "b2eb7e95ef74ce70e7fa91e5ffc0585ea55132f0",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/rendering/sliver_persistent_header.dart",
      "new_id": "cdf10cb2a8d65c307348199769fda2b5ec73a5de",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/rendering/sliver_persistent_header.dart"
    },
    {
      "type": "modify",
      "old_id": "327514723b0827fc8e694a6986348fe0ddb56412",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/widgets/app.dart",
      "new_id": "4e7d20cb021c99c7fca315dd1c05a87ae0399f8f",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/widgets/app.dart"
    },
    {
      "type": "modify",
      "old_id": "701e8d6a98866081b61d2ed24a759886500881f6",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/widgets/navigator.dart",
      "new_id": "3bc881d867572cfb9fda4378b5978cfc15376242",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/widgets/navigator.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "de0686fd96ea6c2c58eabf3e3a904762be0cb08c",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/widgets/primary_scroll_controller.dart"
    },
    {
      "type": "modify",
      "old_id": "a236194bfad2480801261666e79aa90918397fb7",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/widgets/routes.dart",
      "new_id": "28a212e3b19564a87a0f9493b033285c66f9dcc8",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/widgets/routes.dart"
    },
    {
      "type": "modify",
      "old_id": "760ca892a3a86953f66c6e126b6170af05f107c5",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/widgets/scroll_controller.dart",
      "new_id": "6d8d1de572dc9d2731bfc46108d6f2db16012825",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/widgets/scroll_controller.dart"
    },
    {
      "type": "modify",
      "old_id": "edc141b6b53b30cb59c114fe7b8639115bc72873",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/widgets/scroll_view.dart",
      "new_id": "1a91db5918ca717dfa587aa1ca7870e0b34c911e",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/widgets/scroll_view.dart"
    },
    {
      "type": "modify",
      "old_id": "1fb486b5e44a6774ab6ff8dc133e128fc142d684",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/widgets/scrollable.dart",
      "new_id": "505ff68462a341f0e2399124d05aa1c8b7a47fb5",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/widgets/scrollable.dart"
    },
    {
      "type": "modify",
      "old_id": "5f4db1eafff052633baa6a9ac6edf274bcec6545",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/widgets/sliver_persistent_header.dart",
      "new_id": "0c53efd0d79c1e749291402ac35d1652c10d77a4",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/widgets/sliver_persistent_header.dart"
    },
    {
      "type": "modify",
      "old_id": "445f9a8fc7b42e60e81153dcee4aa372bffe43a6",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/widgets.dart",
      "new_id": "6eaa4f59cdf65f4b3635052a1e63f861bbefffcc",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/widgets.dart"
    },
    {
      "type": "modify",
      "old_id": "04f6673cb96277d051391f8806d4836b0917b39d",
      "old_mode": 33188,
      "old_path": "packages/flutter/test/material/scaffold_test.dart",
      "new_id": "fe2c2a3fd93bc6a4d7fc37e89de1dd1efa312706",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/material/scaffold_test.dart"
    },
    {
      "type": "modify",
      "old_id": "7f46f6a62705e900ed52da9f87b8b41bfab09abb",
      "old_mode": 33188,
      "old_path": "packages/flutter/test/material/will_pop_test.dart",
      "new_id": "b3ca5508b3c6c31b16aef9ba3c479b3345f5c16e",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/material/will_pop_test.dart"
    },
    {
      "type": "modify",
      "old_id": "1fc17565e484ff30a51a5a23fb7300c700b4e103",
      "old_mode": 33188,
      "old_path": "packages/flutter/test/widgets/slivers_appbar_floating_test.dart",
      "new_id": "cdd2d55fd36f3bfde84fe101d996badcdd5d3139",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/widgets/slivers_appbar_floating_test.dart"
    },
    {
      "type": "modify",
      "old_id": "4d4c2946f5aa88ba006f0bfc1a501f658c0d310a",
      "old_mode": 33188,
      "old_path": "packages/flutter/test/widgets/slivers_appbar_pinned_test.dart",
      "new_id": "b139cb76ac1ea35fa9a6b477d6523993fdc541e4",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/widgets/slivers_appbar_pinned_test.dart"
    },
    {
      "type": "modify",
      "old_id": "bff16192675de524025565b72bb51786ea38900b",
      "old_mode": 33188,
      "old_path": "packages/flutter/test/widgets/slivers_appbar_scrolling_test.dart",
      "new_id": "7fc9db374990c8d42c1c21ade290e4f0b6356345",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/widgets/slivers_appbar_scrolling_test.dart"
    },
    {
      "type": "modify",
      "old_id": "b9c34d1089c3251990d5b97bc63fa613e3ac1463",
      "old_mode": 33188,
      "old_path": "packages/flutter/test/widgets/slivers_evil_test.dart",
      "new_id": "60fabaf390b5043b3836f8f1d99aa6e39be95468",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/widgets/slivers_evil_test.dart"
    }
  ]
}
