)]}'
{
  "commit": "00cf045c85263309324ebf74807db5ccc8748fd3",
  "tree": "54d5322ba6a6e9257cc44cb7ea3203591057c656",
  "parents": [
    "aa977fb083c7259ff696ecd2f941854cab995e07"
  ],
  "author": {
    "name": "Mårten Kongstad",
    "email": "amhk@google.com",
    "time": "Fri May 26 16:48:01 2023 +0200"
  },
  "committer": {
    "name": "Mårten Kongstad",
    "email": "amhk@google.com",
    "time": "Fri May 26 17:09:10 2023 +0200"
  },
  "message": "aconfig: restrict valid namespace and flag names\n\nThe namespace and flag names will be used as identifiers in the\nauto-generated code. Place restrictions on what constitutes a valid\nname.\n\nValid identifiers are those that match /[a-z][a-z0-9_]/. aconfig\nexplicitly does not implement any automatic translation to make names\nvalid identifiers: this sidesteps potential conflicts such as \"foo.bar\"\nand \"foo_bar\" mapping to the same name if dots were translated to\nunderscores.\n\nBug: b/284252015\nTest: atest aconfig.test\nChange-Id: I38d005a74311e5829e540063404d1565071e6e96\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "30810fa344cb0e2b29227943cc63f002c2ccc0c3",
      "old_mode": 33188,
      "old_path": "tools/aconfig/src/cache.rs",
      "new_id": "44ad3dd00512ccc59141e690b76d2f60ff8a140a",
      "new_mode": 33188,
      "new_path": "tools/aconfig/src/cache.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b60ec51c1dec4c0ccf76d78c9d0bda5c7b1b88fa",
      "new_mode": 33188,
      "new_path": "tools/aconfig/src/codegen.rs"
    },
    {
      "type": "modify",
      "old_id": "733b1c5d1fc0a6257b231a588817ee4798f64634",
      "old_mode": 33188,
      "old_path": "tools/aconfig/src/codegen_java.rs",
      "new_id": "98288e7b2b787a5155635c6852081c58ba738b7c",
      "new_mode": 33188,
      "new_path": "tools/aconfig/src/codegen_java.rs"
    },
    {
      "type": "modify",
      "old_id": "d75e315f61d8a55608ed6b5c4aa9c9e68424fc02",
      "old_mode": 33188,
      "old_path": "tools/aconfig/src/codegen_rust.rs",
      "new_id": "b3a6f53b7360768bc992e4360ee1f013161b95a3",
      "new_mode": 33188,
      "new_path": "tools/aconfig/src/codegen_rust.rs"
    },
    {
      "type": "modify",
      "old_id": "b60909b377a406d562e3e660c7f83c984f8da60b",
      "old_mode": 33188,
      "old_path": "tools/aconfig/src/main.rs",
      "new_id": "1d2ec95fec79aad78d93417be6e662fea2339e5f",
      "new_mode": 33188,
      "new_path": "tools/aconfig/src/main.rs"
    },
    {
      "type": "modify",
      "old_id": "89da18bc43ad121b17dde2378ac1930f99a593c4",
      "old_mode": 33188,
      "old_path": "tools/aconfig/templates/java.template",
      "new_id": "30c7ad7579d6656ae2787b2d9d265dfbf335b3f0",
      "new_mode": 33188,
      "new_path": "tools/aconfig/templates/java.template"
    },
    {
      "type": "modify",
      "old_id": "e6017fe8413273532825829433eb1180dd6f9ab8",
      "old_mode": 33188,
      "old_path": "tools/aconfig/testdata/first.values",
      "new_id": "3c49111e37285ccf8e95316686587785c0dfc8a9",
      "new_mode": 33188,
      "new_path": "tools/aconfig/testdata/first.values"
    },
    {
      "type": "modify",
      "old_id": "44b6b3e445a7bbe8368b1aaf2a1c1e7804d02569",
      "old_mode": 33188,
      "old_path": "tools/aconfig/testdata/second.values",
      "new_id": "3fe11ab15943b316af82523a12f005e129703ebe",
      "new_mode": 33188,
      "new_path": "tools/aconfig/testdata/second.values"
    },
    {
      "type": "modify",
      "old_id": "16be425839c3e394b9e58593f581f203a7a4b5d7",
      "old_mode": 33188,
      "old_path": "tools/aconfig/testdata/test.aconfig",
      "new_id": "986a526ef384ee3ec1937388bb1468c5e4317e84",
      "new_mode": 33188,
      "new_path": "tools/aconfig/testdata/test.aconfig"
    }
  ]
}
