)]}'
{
  "commit": "cef4afe4e8a3c5da2aa8f5e7697c3d1f8aad3566",
  "tree": "a23f821c4e35422c684f43946db23b7b7b88c755",
  "parents": [
    "7d736c2dcc5e39a4ee7e79666bc9247861cb0f1f"
  ],
  "author": {
    "name": "Patrick Hiesel",
    "email": "hiesel@google.com",
    "time": "Mon Feb 21 16:18:45 2022 +0100"
  },
  "committer": {
    "name": "Patrick Hiesel",
    "email": "hiesel@google.com",
    "time": "Mon Feb 21 17:04:40 2022 +0100"
  },
  "message": "Allow \u0027message\u0027 predicate to take a regular expression as argument\n\nThis change adds RegEx support to the existing \u0027message\u0027 predicate.\nThe primary intention is for this to be used in submit requirements,\nbut since some index backends (e.g. Lucene) support regular expressions,\nwe add it as index predicate.\n\nThe matching is the same as for other index predicates\n(e.g. RegexDirectoryPredicate) using brics.dk/automaton. This is a\nnotable difference to Prolog (which uses Java\u0027s built in Pattern).\n\nDocumentation was adapted.\n\nChange-Id: Ic33c935feab18ce6e8a71b89b36a68c5461e8e58\nRelease-Notes: Added new message:regex search operator\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ac62933fada3b20e3b894782b783a3e3a44314bd",
      "old_mode": 33188,
      "old_path": "Documentation/user-search.txt",
      "new_id": "61a73658830e903ba0c6eca17c8efde46cd00db1",
      "new_mode": 33188,
      "new_path": "Documentation/user-search.txt"
    },
    {
      "type": "modify",
      "old_id": "c79b9933f83f1a1e6094f64246e5a5ea7a580e3c",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/index/change/ChangeField.java",
      "new_id": "148270ee21d14215dcb6e511deb4b960a2144926",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/index/change/ChangeField.java"
    },
    {
      "type": "modify",
      "old_id": "9776584846d392cbac1f0d187f5ba67f4ad32e22",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/index/change/ChangeSchemaDefinitions.java",
      "new_id": "0a06735080bf0ca261041a53b51c445a0864df89",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/index/change/ChangeSchemaDefinitions.java"
    },
    {
      "type": "modify",
      "old_id": "4491aa66a24f4f10a9d6bad7b55923bc108be13e",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java",
      "new_id": "ae82bdbd3e1ea319e71a9b1107d66334b9e2accd",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/query/change/ChangeQueryBuilder.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a2b9ad800ce551e6d3bfdec2f948e70d3076fbb3",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/query/change/RegexMessagePredicate.java"
    },
    {
      "type": "modify",
      "old_id": "c851e64234d66db94180d86930271b3d5c8aa255",
      "old_mode": 33188,
      "old_path": "javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java",
      "new_id": "109f29906d90179d86274c5048e050f01b53fc56",
      "new_mode": 33188,
      "new_path": "javatests/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java"
    }
  ]
}
