)]}'
{
  "commit": "4d5e3eab6ddd707e680ed5e466cb310c0f291a86",
  "tree": "ec5897ac1fef3c3d8299e54b1d26f77e6d776fad",
  "parents": [
    "1a6aaf853ff7202b869dc7868f800ed7da9538d0"
  ],
  "author": {
    "name": "Daniel P. Berrange",
    "email": "berrange@redhat.com",
    "time": "Wed Apr 26 11:34:15 2017 +0100"
  },
  "committer": {
    "name": "Daniel P. Berrange",
    "email": "berrange@redhat.com",
    "time": "Wed Apr 26 11:39:35 2017 +0100"
  },
  "message": "Fix incompatibility with older argparse\n\nWith older argparse (circa 2.7.4 vintage), using set_defaults\nto set a function on the main parser prevents it from ever\ncalling the functions set on the sub-parser.\n\nWe registered this default function so that we could get help\nusage with argparse on python 3.x, since it doesn\u0027t print\nerror by default if no sub-parser command is given (but 2.x\ndoes).\n\nTo workaround this, we instead check for \u0027func\u0027 attribute\nexisting on the parsed args. This is a no-op for python 2.x\nsince it already printed a usage message by default.\n\nSigned-off-by: Daniel P. Berrange \u003cberrange@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e03c762cff26861754d0cadc036f093a8e83c44c",
      "old_mode": 33261,
      "old_path": "tools/keymap-gen",
      "new_id": "981768d5c4460e6957a64a6f5463c09daf332689",
      "new_mode": 33261,
      "new_path": "tools/keymap-gen"
    }
  ]
}
