)]}'
{
  "commit": "d9b12be83a4442d64421180369ecaf483c9683de",
  "tree": "a619c3d04b55aea8e9a76b5d28fc9b8c3f3715a6",
  "parents": [
    "71c02db0bfb11c17bf54a99eb2864d34bd1a40a1"
  ],
  "author": {
    "name": "John Ryan",
    "email": "ryjohn@google.com",
    "time": "Thu Jul 30 09:31:45 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jul 30 09:31:45 2026 -0700"
  },
  "message": "Allow flutter SDK binary to be a symlink (#9924)\n\n* Fix SDK path resolution when Flutter on PATH is a symlink\n\nWhen running `dt update-flutter-sdk --update-on-path`, `FlutterSdk.findFromPathEnvironmentVariable` failed if `flutter` on PATH was a symlink (e.g. `/usr/local/bin/flutter`). It stripped `bin/flutter` from the unresolved symlink path, resulting in `/usr/local` being treated as the SDK root directory.\n\nThis change:\n- Updates `FlutterSdk.findFromPath` to resolve symbolic links before determining the SDK root directory.\n- Updates `UpdateFlutterSdkCommand` to use the remote returned by `findRemote` instead of hardcoding \u0027upstream\u0027.\n- Adds unit tests in `tool/test/model_test.dart` for `FlutterSdk.findFromPath`.\n\n* Revert change to \"findRemote\" behavior\n\n* Revert change to \"findRemote\" behavior\n\n* Simplify symlink resolution using try-catch fallback in FlutterSdk.findFromPath\n\n* Add release note for dt sync symlink fix\n\n* format\n\n* Revert changes to release notes\n\n* extract repeated calls to path.dirname\n\n* Avoid explicit variable type declaration.\n\n* Remove ignore for DCM",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2032b4c5ec7b353e7e3e0ea83dda4304b5cebf61",
      "old_mode": 33188,
      "old_path": "tool/lib/model.dart",
      "new_id": "12df45554aa5f5686d76298eb1f966bbd05168d5",
      "new_mode": 33188,
      "new_path": "tool/lib/model.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5279086b286898e76e819cc147038c3359b0ff60",
      "new_mode": 33188,
      "new_path": "tool/test/model_test.dart"
    }
  ]
}
