)]}'
{
  "commit": "97b5264fcc2c662c173b7386281031fdd83abf20",
  "tree": "0c87e2c53d7471f22e7fe0474c8cde3bf999f84c",
  "parents": [
    "af1fd78b3c6341b81b73f39dec1e8b69e2f0b035"
  ],
  "author": {
    "name": "Tong Mu",
    "email": "dkwingsmt@users.noreply.github.com",
    "time": "Thu Apr 10 08:58:23 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Apr 10 15:58:23 2025 +0000"
  },
  "message": "Migrate in-comment links of the flutter/engine repository to the flutter/flutter repository (#166790)\n\nThis PR migrates almost all in-comment links that points to the main\nbranch of flutter/engine repository to the flutter/flutter repository,\nensuring that such links are always up to date.\n\nI\u0027ve manually verified that all links are valid. There are a few cases\nwhere the migration is not so trivial and I had to look up for the\nupdated location or line number, but I\u0027m pretty sure the new value is\ncorrect.\n\nThe only place that I don\u0027t know how to migrate is two links in\n[Upgrading-pre-1.12-Android-projects.md](https://github.com/flutter/flutter/blob/master/docs/platforms/android/Upgrading-pre-1.12-Android-projects.md)\npointing to\n`https://github.com/flutter/engine/blob/main/shell/platform/android/io/flutter/app/FlutterActivity.java`,\nwhich I guess no longer exists.\n\nThere are still many links that point to a specific branch or revision\nof the engine repo. I don\u0027t think we need to migrate these links, since\nthey\u0027re probably not meant to be kept up to date.\n\n## Pre-launch Checklist\n\n- [ ] I read the [Contributor Guide] and followed the process outlined\nthere for submitting PRs.\n- [ ] I read the [Tree Hygiene] wiki page, which explains my\nresponsibilities.\n- [ ] I read and followed the [Flutter Style Guide], including [Features\nwe expect every widget to implement].\n- [ ] I signed the [CLA].\n- [ ] I listed at least one issue that this PR fixes in the description\nabove.\n- [ ] I updated/added relevant documentation (doc comments with `///`).\n- [ ] I added new tests to check the change I am making, or this PR is\n[test-exempt].\n- [ ] I followed the [breaking change policy] and added [Data Driven\nFixes] where supported.\n- [ ] All existing and new tests are passing.\n\nIf you need help, consider asking for advice on the #hackers-new channel\non [Discord].\n\n\u003c!-- Links --\u003e\n[Contributor Guide]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview\n[Tree Hygiene]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md\n[test-exempt]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests\n[Flutter Style Guide]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md\n[Features we expect every widget to implement]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement\n[CLA]: https://cla.developers.google.com/\n[flutter/tests]: https://github.com/flutter/tests\n[breaking change policy]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes\n[Discord]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md\n[Data Driven Fixes]:\nhttps://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2754985ded23dedf400baa27afee2d6d926617cc",
      "old_mode": 33188,
      "old_path": "docs/Flutter-Self-Service-Index.md",
      "new_id": "b5bb621b08a2ec243f59be647ec0b87bf7009a0d",
      "new_mode": 33188,
      "new_path": "docs/Flutter-Self-Service-Index.md"
    },
    {
      "type": "modify",
      "old_id": "147794823f95f95cb1ef75d9d40007023f8f006f",
      "old_mode": 33188,
      "old_path": "docs/about/The-Engine-architecture.md",
      "new_id": "1a86d2868b940512650b723e2422298ff6536a2e",
      "new_mode": 33188,
      "new_path": "docs/about/The-Engine-architecture.md"
    },
    {
      "type": "modify",
      "old_id": "532b1a463bc45becbf52ab9a6eca539ceaafcff2",
      "old_mode": 33188,
      "old_path": "docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md",
      "new_id": "88e6b23740a8c836ac54a868fad22b47ff244b40",
      "new_mode": 33188,
      "new_path": "docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md"
    },
    {
      "type": "modify",
      "old_id": "9338e18833ede33714f7691216beb272104ad17e",
      "old_mode": 33188,
      "old_path": "docs/wiki_archive/Upgrading-Flutter-projects-from-using-PlatformMessages-to-using-channels.md",
      "new_id": "b6deeb624580a47cc1d9b1781679e46c5796a26c",
      "new_mode": 33188,
      "new_path": "docs/wiki_archive/Upgrading-Flutter-projects-from-using-PlatformMessages-to-using-channels.md"
    },
    {
      "type": "modify",
      "old_id": "45ba2816acd7d67562bdd7c03364f7b56913ae11",
      "old_mode": 33188,
      "old_path": "engine/src/README.md",
      "new_id": "5f75fefee7bb87212e76cd33fc815703dd52e307",
      "new_mode": 33188,
      "new_path": "engine/src/README.md"
    },
    {
      "type": "modify",
      "old_id": "ce1c48a3dcf3fde4824ae56ba76fc813fd36b138",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/.github/PULL_REQUEST_TEMPLATE.md",
      "new_id": "854dee303a7292437ac42447e4f1559f97e9a872",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/.github/PULL_REQUEST_TEMPLATE.md"
    },
    {
      "type": "modify",
      "old_id": "a52dc4c836349a84d112fa3ee973d53dfef7fc0a",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/.style.yapf",
      "new_id": "3d6f1f1ea68dc0fd9560408d3bfba04558a61fc0",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/.style.yapf"
    },
    {
      "type": "modify",
      "old_id": "83c87a7aab8b6ebdb1ec93d005e959fc32eb8719",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/analysis_options.yaml",
      "new_id": "8df890aa8874dc9497b5cefa51665bd5b1f69316",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/analysis_options.yaml"
    },
    {
      "type": "modify",
      "old_id": "1e009b45e50e9f3209a376a5bd657cadef337de6",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/build/archives/BUILD.gn",
      "new_id": "ab6636324941b17f2daed13749698ca7d7a6cc96",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/build/archives/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "38e1ac144ee5fb0e6f3c0d57273e21f78f9401a0",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/ci/builders/README.md",
      "new_id": "9dea8bf4ed44242ba86aa0de929dfc0b000c86ec",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/ci/builders/README.md"
    },
    {
      "type": "modify",
      "old_id": "021b51c7f772d671cfb5365875b26e23dc493c40",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/docs/Custom-Flutter-Engine-Embedders.md",
      "new_id": "39d7fdfaca5ec1ccc037d32639b765cf27bed35f",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/docs/Custom-Flutter-Engine-Embedders.md"
    },
    {
      "type": "modify",
      "old_id": "94ab02ef6915beb25167ca1bbb08483863f3ea4e",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/docs/Life-of-a-Flutter-Frame.md",
      "new_id": "431eaa3b793656664e5cd6bbfe312f9bcd44c9e6",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/docs/Life-of-a-Flutter-Frame.md"
    },
    {
      "type": "modify",
      "old_id": "d137d97d616baf0407d4ceeb49f68a7378deac8a",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/docs/ci/Engine-pre-submits-and-post-submits.md",
      "new_id": "1df7861f6d238a772d5891db8bb08fabd19842f3",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/docs/ci/Engine-pre-submits-and-post-submits.md"
    },
    {
      "type": "modify",
      "old_id": "cb18cb33b29b57883fb453f8f2ea61648cd6dbeb",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/docs/contributing/Compiling-the-engine.md",
      "new_id": "495378a00f6a91ddc809a2d17bf1ada8e7333dfc",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/docs/contributing/Compiling-the-engine.md"
    },
    {
      "type": "modify",
      "old_id": "746103baf37270636d9d2ae92338b5e69cc39938",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/docs/release/Code-signing-metadata.md",
      "new_id": "85ca6b93d0aebccab2a5b8775b4dc748e61635e8",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/docs/release/Code-signing-metadata.md"
    },
    {
      "type": "modify",
      "old_id": "763deb419ea32d98bb679776ab0c1b837fd5d255",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/impeller/docs/renderdoc_frame_capture.md",
      "new_id": "8c561c24b15318edd0bd2f2ec5f1b4c6722fd05b",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/impeller/docs/renderdoc_frame_capture.md"
    },
    {
      "type": "modify",
      "old_id": "3fd13133dbd7edadccd666aaafb5f820c2a9de11",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/lib/gpu/lib/gpu.dart",
      "new_id": "22533ee9c1a7dc2b52634ea9683e4988401bad32",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/lib/gpu/lib/gpu.dart"
    },
    {
      "type": "modify",
      "old_id": "f34d14ed96b00403af7fcf4c6bf0075b76eb712f",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/lib/web_ui/flutter_js/src/entrypoint_loader.js",
      "new_id": "f7c35aee5294eb053a7235ab56856d13972aac60",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/lib/web_ui/flutter_js/src/entrypoint_loader.js"
    },
    {
      "type": "modify",
      "old_id": "44122a4d1c023fe4baf8cb778988bb98684d03a9",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/lib/web_ui/lib/geometry.dart",
      "new_id": "2c01d61909f821fec714c7aea10dce60aa1a215d",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/lib/web_ui/lib/geometry.dart"
    },
    {
      "type": "modify",
      "old_id": "40ae02b0c9060fdbffc4827c2735485e5fa65014",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/lib/web_ui/lib/painting.dart",
      "new_id": "0549c43092cd0b81e1ee4e419edefd8d2c0faa9e",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/lib/web_ui/lib/painting.dart"
    },
    {
      "type": "modify",
      "old_id": "690755661668569c1f986ee5ecdb573bb67ba5d7",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/lib/web_ui/lib/path.dart",
      "new_id": "3ee6fac3853bfbe8f982a35993b7e2b4c2c41dab",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/lib/web_ui/lib/path.dart"
    },
    {
      "type": "modify",
      "old_id": "e6a07b6c2c850151bdfba76f5f2cad09cb20ab82",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/lib/web_ui/lib/src/engine.dart",
      "new_id": "0920b67f5037f1260a940de071fabe2ab22ad5a3",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/lib/web_ui/lib/src/engine.dart"
    },
    {
      "type": "modify",
      "old_id": "27ebed8e447f76e0f91be275e13296ea17729bb1",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/android/io/flutter/embedding/engine/FlutterJNI.java",
      "new_id": "b0ffd646aa0d9d72a709645def0e1e6125e607f5",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/android/io/flutter/embedding/engine/FlutterJNI.java"
    },
    {
      "type": "modify",
      "old_id": "3946ed50d2b2e5c8a798abd6524be1001f3b443e",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/android/io/flutter/embedding/engine/renderer/FlutterRenderer.java",
      "new_id": "ae99b61d20abd04bc1059d63253ce18eda8cc513",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/android/io/flutter/embedding/engine/renderer/FlutterRenderer.java"
    },
    {
      "type": "modify",
      "old_id": "a6cc440ed506a0fcc4e0eed116fd1d8b81188e07",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java",
      "new_id": "0aee88f381cbc2b9d49f14f479d3c1d3b4150a47",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
    },
    {
      "type": "modify",
      "old_id": "5755445724ab7b28d036c1f0de2b71fae28d40a9",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/fuchsia/flutter/tests/integration/mouse-input/README.md",
      "new_id": "06e3787514b7ff6309115e472a73b5fa2391715a",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/fuchsia/flutter/tests/integration/mouse-input/README.md"
    },
    {
      "type": "modify",
      "old_id": "61c23e9aa5b8c67f942dc0108fd27932f084f89f",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/fuchsia/flutter/tests/integration/touch-input/README.md",
      "new_id": "2ba4336c07541b69bc4733ccf63f9e736048854c",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/fuchsia/flutter/tests/integration/touch-input/README.md"
    },
    {
      "type": "modify",
      "old_id": "22cf2d2fa3c18e3efd049948c50481f8888721bb",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/glfw/client_wrapper/include/flutter/flutter_window_controller.h",
      "new_id": "68395f9ed6bd3fd687b8f8857e157973ff02b7ae",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/glfw/client_wrapper/include/flutter/flutter_window_controller.h"
    },
    {
      "type": "modify",
      "old_id": "7dbb8b9395ff0117f7f4f4624022a639ddd4532c",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/glfw/public/flutter_glfw.h",
      "new_id": "4bf872059292a0ba06fde707b2dae96a7185d450",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/glfw/public/flutter_glfw.h"
    },
    {
      "type": "modify",
      "old_id": "db1686c0720101c62b92ba411b36ab9b86273a05",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/shell/platform/windows/README.md",
      "new_id": "71051eee1ca7db6570ec178ec397a74a58964f6c",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/shell/platform/windows/README.md"
    },
    {
      "type": "modify",
      "old_id": "582bbf5005e4186e663e7f9704f09de0d6c1ebed",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/tools/engine_tool/README.md",
      "new_id": "560461a436e40d45869002aecd066318139a3469",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/tools/engine_tool/README.md"
    },
    {
      "type": "modify",
      "old_id": "c6e4f8feb9b72e01f1eb66d5b043b471bf9fff90",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/tools/pkg/engine_build_configs/lib/engine_build_configs.dart",
      "new_id": "e1bee8e192e8c45003c1e7e15ca237ffd6d33f8e",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/tools/pkg/engine_build_configs/lib/engine_build_configs.dart"
    },
    {
      "type": "modify",
      "old_id": "791c718938a8c1d8cab8bbad6a15ae51e1022717",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/tools/pkg/engine_build_configs/lib/src/build_config.dart",
      "new_id": "8d564c04980ec8950bac3dafd87bd4bdec970d66",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/tools/pkg/engine_build_configs/lib/src/build_config.dart"
    },
    {
      "type": "modify",
      "old_id": "171f48247cfc6c67575950da070832c306a04173",
      "old_mode": 33188,
      "old_path": "engine/src/flutter/tools/vscode_workspace/engine-workspace.yaml",
      "new_id": "57c837ef67753ff9f80c0c6c7dc346ed65ff4f0b",
      "new_mode": 33188,
      "new_path": "engine/src/flutter/tools/vscode_workspace/engine-workspace.yaml"
    },
    {
      "type": "modify",
      "old_id": "13dd3606ba2797093c07da497ed00e4707bfbcbc",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/services/raw_keyboard_windows.dart",
      "new_id": "39968d8f516afd2232728c26a44a66ffac493855",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/services/raw_keyboard_windows.dart"
    },
    {
      "type": "modify",
      "old_id": "f041cc7497c8478915743de158190caf427c08be",
      "old_mode": 33188,
      "old_path": "packages/flutter_driver/lib/src/driver/profiling_summarizer.dart",
      "new_id": "c2d10d3f3e850bc6d929fd35695f7574169f14b2",
      "new_mode": 33188,
      "new_path": "packages/flutter_driver/lib/src/driver/profiling_summarizer.dart"
    },
    {
      "type": "modify",
      "old_id": "1a7bc932e465763258952bb4ee67534a0d578eb5",
      "old_mode": 33188,
      "old_path": "packages/flutter_test/lib/src/controller.dart",
      "new_id": "ec9d84590cf5e889d9a1b3627b60051b6f277a74",
      "new_mode": 33188,
      "new_path": "packages/flutter_test/lib/src/controller.dart"
    }
  ]
}
