)]}'
{
  "commit": "cc88be34d214418511c13f2284ecdb22245fb650",
  "tree": "83e205c55a3f20a1af71c2831ed413ba66b59541",
  "parents": [
    "16cfb53e0ab9da8f40740885e5b287a0d912446c"
  ],
  "author": {
    "name": "Victor Pushkarev",
    "email": "corvinus.v@gmail.com",
    "time": "Tue Sep 01 19:38:49 2026 +0300"
  },
  "committer": {
    "name": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Sep 11 01:54:27 2026 -0700"
  },
  "message": "command: fix group selection across submanifests\n\nWhen GetProjects walks all manifests without explicit groups, it\nresolves the effective groups once from the selected manifest and reuses\nthem for projects from child manifests. This can ignore a child\nmanifest\u0027s own group selection and include projects that should be\nexcluded.\n\nWhen no groups are specified, resolve them from each project\u0027s owning\nmanifest. Explicit groups still apply to all projects in the call, and\nsingle-manifest behavior remains unchanged.\n\nAdd regression tests for per-manifest group selection, explicit\noverrides, and name lookup across manifests.\n\nBug: 382086294\nChange-Id: Id5c7e52410431b86b395f489cfd494ca05620975\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/624821\nReviewed-by: Mike Frysinger \u003cvapier@google.com\u003e\nReviewed-by: Gavin Mak \u003cgavinmak@google.com\u003e\nCommit-Queue: Victor Pushkarev \u003ccorvinus.v@gmail.com\u003e\nTested-by: Victor Pushkarev \u003ccorvinus.v@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8b6a4d17040712a755e4b224d99aca48285a17dc",
      "old_mode": 33188,
      "old_path": "command.py",
      "new_id": "3086e13a254def5062e17fcf913301d914591b0b",
      "new_mode": 33188,
      "new_path": "command.py"
    },
    {
      "type": "modify",
      "old_id": "d7938c5f205c1d60f969dc89a4255825a1b42730",
      "old_mode": 33188,
      "old_path": "tests/test_command.py",
      "new_id": "ef6f7a031cc046dc1870ad9450ffaa5fd0099cc1",
      "new_mode": 33188,
      "new_path": "tests/test_command.py"
    }
  ]
}
