)]}'
{
  "commit": "cc72385fe350d4d7bc64f84e8817dbdfe27b04fe",
  "tree": "e44450c57a179399222bb4e9f671f15fd4887426",
  "parents": [
    "217f2767cbcb562872437eed4dec62e00846d90c"
  ],
  "author": {
    "name": "Johannes Schindelin",
    "email": "johannes.schindelin@gmx.de",
    "time": "Thu Oct 05 14:19:09 2017 +0200"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue Oct 10 13:41:35 2017 +0900"
  },
  "message": "for-each-ref: let upstream/push optionally report the remote name\n\nThere are times when e.g. scripts want to know not only the name of the\nupstream branch on the remote repository, but also the name of the\nremote.\n\nThis patch offers the new suffix :remotename for the upstream and for\nthe push atoms, allowing to show exactly that. Example:\n\n\t$ cat .git/config\n\t...\n\t[remote \"origin\"]\n\t\turl \u003d https://where.do.we.come/from\n\t\tfetch \u003d refs/heads/*:refs/remote/origin/*\n\t[remote \"hello-world\"]\n\t\turl \u003d https://hello.world/git\n\t\tfetch \u003d refs/heads/*:refs/remote/origin/*\n\t\tpushURL \u003d hello.world:git\n\t\tpush \u003d refs/heads/*:refs/heads/*\n\t[branch \"master\"]\n\t\tremote \u003d origin\n\t\tpushRemote \u003d hello-world\n\t...\n\n\t$ git for-each-ref \\\n\t  --format\u003d\u0027%(upstream) %(upstream:remotename) %(push:remotename)\u0027 \\\n\t  refs/heads/master\n\trefs/remotes/origin/master origin hello-world\n\nThe implementation chooses *not* to DWIM the push remote if no explicit\npush remote was configured; The reason is that it is possible to DWIM this\nby using\n\n\t%(if)%(push:remotename)%(then)\n\t\t%(push:remotename)\n\t%(else)\n\t\t%(upstream:remotename)\n\t%(end)\n\nwhile it would be impossible to \"un-DWIM\" the information in case the\ncaller is really only interested in explicit push remotes.\n\nWhile `:remote` would be shorter, it would also be a bit more ambiguous,\nand it would also shut the door e.g. for `:remoteref` (which would\nobviously refer to the corresponding ref in the remote repository).\n\nNote: the dashless, non-CamelCased form `:remotename` follows the\nexample of the `:trackshort` example.\n\nSigned-off-by: Johannes Schindelin \u003cjohannes.schindelin@gmx.de\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "66b4e0a4050655e7fab27a6fe72af03d6c99f3b2",
      "old_mode": 33188,
      "old_path": "Documentation/git-for-each-ref.txt",
      "new_id": "39f50bd53eb91d2aa5c85cde5df0c2ea2a4a5ca3",
      "new_mode": 33188,
      "new_path": "Documentation/git-for-each-ref.txt"
    },
    {
      "type": "modify",
      "old_id": "55323620ab2aedc443989a876b4f4c43df6115cf",
      "old_mode": 33188,
      "old_path": "ref-filter.c",
      "new_id": "4819707d032b006690f69fd6f3ea6226eb627bf1",
      "new_mode": 33188,
      "new_path": "ref-filter.c"
    }
  ]
}
