)]}'
{
  "commit": "e149bf59593732207a33c0cbc662bdce59f4b1d9",
  "tree": "b8acc6643db7cf30f867e27281815c9359f968e6",
  "parents": [
    "e114e60b578fe27fe9ec4a01dfe48be5868cc8ae"
  ],
  "author": {
    "name": "Christian Aistleitner",
    "email": "christian@quelltextlich.at",
    "time": "Fri May 31 17:31:43 2013 +0200"
  },
  "committer": {
    "name": "Christian Aistleitner",
    "email": "christian@quelltextlich.at",
    "time": "Mon Jun 17 15:35:58 2013 +0200"
  },
  "message": "Add skeleton action controller unifying event handling\n\nThe approach to handling events comes with several short-comings:\n\n* Event handling is currently separated over several listeners. Some\n  allow to freely formulate preconditions (e.g.: changing an issue\u0027s\n  state), other listeners had again and again introduced further\n  configuration settings to allow setting fine controlled verbosity\n  (linking to change/patch set), other listeners can only be turned\n  on/off (e.g.: linking to gitweb). However, for all of those actions\n  could benefit from freely formulated preconditions.\n\n* The current transition format does not allow to different sets of\n  conditions to fire the same action.\n\n* The current approach to associating an issue to a patch set does not\n  allow disambiguate between an issue being referenced in a commit\n  message\u0027s subject line, its body, or its footer. Let alone add\n  comments based on that.\n\n* The current approach does not allow easily modify the text of the\n  added its comments.\n\nAs addressing all those needs goes beyond the current event handling\ndesign, we add an action controller and work towards replacing the old\ndesign.\n\nThe action controller will be backed by a single, common rule base. It\nwill allow for different rules to fire the same action, provide was to\ndisambiguate between where the issue has been referenced, and allow to\nmodify standard text for its comments using Velocity templates.\n\nChange-Id: I8c722f9957f1e44133a93332e71bf56deb56d6ba\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fa41a86baaedd450e723d7c48a90e870af5d5cba",
      "old_mode": 33188,
      "old_path": "hooks-its/src/main/java/com/googlesource/gerrit/plugins/hooks/ItsHookModule.java",
      "new_id": "86097ef76796399cffde8f93065accc201e81785",
      "new_mode": 33188,
      "new_path": "hooks-its/src/main/java/com/googlesource/gerrit/plugins/hooks/ItsHookModule.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9d6ad992e7c658129266ec60f622ba3750664867",
      "new_mode": 33188,
      "new_path": "hooks-its/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/ActionController.java"
    }
  ]
}
