)]}'
{
  "commit": "6ac4f0ec238e10784376f65c2ec0193b9757ee05",
  "tree": "01b79de71fe3d929e810a9eb55c02fbd318a6114",
  "parents": [
    "36a674c11b0c366a2d311299341830619d79254e"
  ],
  "author": {
    "name": "Henner Zeller",
    "email": "hzeller@google.com",
    "time": "Thu Nov 17 11:00:00 2022 -0800"
  },
  "committer": {
    "name": "Henner Zeller",
    "email": "hzeller@google.com",
    "time": "Thu Nov 17 11:03:53 2022 -0800"
  },
  "message": "Preserve the sequence of commands provided by the user.\n\nWithout that, the commands are just shown alphabetically,\nbut the user of the subcommands might want to group these\nby importance. Always provide \u0027help\u0027 as first command.\n\nWhile at it: remove the heterogenous lookup ifdefs as we\nare using C++17 throughout these days.\n\nUpdate the \"error\" text so that calling \u0027help invalidcommand\u0027\nprovides a sensible message.\n\nSigned-off-by: Henner Zeller \u003chzeller@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "560bd583da51aeafb2cc047bdb3005fae0df205c",
      "old_mode": 33188,
      "old_path": "common/util/subcommand.cc",
      "new_id": "9a7652c31c91fc3937e14e9fe25812a51829f058",
      "new_mode": 33188,
      "new_path": "common/util/subcommand.cc"
    },
    {
      "type": "modify",
      "old_id": "98fa79b46891872704cd692241e048f04bccc7a6",
      "old_mode": 33188,
      "old_path": "common/util/subcommand.h",
      "new_id": "4c947042e2259ecc7aaae47967f3145cf5ea491a",
      "new_mode": 33188,
      "new_path": "common/util/subcommand.h"
    }
  ]
}
