)]}'
{
  "commit": "3c548de3788eda31388b435d8983866fe43e032f",
  "tree": "ebc1325a891abcf3fac7dcdf04c86c077a1d76a4",
  "parents": [
    "93dd544f54ea596e9d70d06c100123c10689861c",
    "58f4203e7db265cd2d8315ca5d9c9979cd577427"
  ],
  "author": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue Jun 13 13:47:07 2017 -0700"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue Jun 13 13:47:07 2017 -0700"
  },
  "message": "Merge branch \u0027sb/submodule-blanket-recursive\u0027\n\nMany commands learned to pay attention to submodule.recurse\nconfiguration.\n\n* sb/submodule-blanket-recursive:\n  builtin/fetch.c: respect \u0027submodule.recurse\u0027 option\n  builtin/push.c: respect \u0027submodule.recurse\u0027 option\n  builtin/grep.c: respect \u0027submodule.recurse\u0027 option\n  Introduce \u0027submodule.recurse\u0027 option for worktree manipulators\n  submodule loading: separate code path for .gitmodules and config overlay\n  reset/checkout/read-tree: unify config callback for submodule recursion\n  submodule test invocation: only pass additional arguments\n  submodule recursing: do not write a config variable twice\n",
  "tree_diff": []
}
