)]}'
{
  "commit": "95c38fb0ed45d9eb529afeb704b840818ba3da4d",
  "tree": "bd1e2a04da9bacb9c4cc630ffb54a326f577397f",
  "parents": [
    "a0feb1b1870fbb74f65d6a8951e4b2e2a2347ecf"
  ],
  "author": {
    "name": "Jeff King",
    "email": "peff@peff.net",
    "time": "Sun Apr 03 00:14:26 2016 -0400"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Mon Apr 04 23:35:05 2016 -0700"
  },
  "message": "branch: fix shortening of non-remote symrefs\n\nCommit aedcb7d (branch.c: use \u0027ref-filter\u0027 APIs, 2015-09-23)\nadjusted the symref-printing code to look like this:\n\n    if (item-\u003esymref) {\n\t    skip_prefix(item-\u003esymref, \"refs/remotes/\", \u0026desc);\n\t    strbuf_addf(\u0026out, \" -\u003e %s\", desc);\n    }\n\nThis has three bugs in it:\n\n  1. It always skips past \"refs/remotes/\", instead of\n     skipping past the prefix associated with the branch we\n     are showing (so commonly we see \"refs/remotes/\" for the\n     refs/remotes/origin/HEAD symref, but the previous code\n     would skip \"refs/heads/\" when showing a symref it found\n     in refs/heads/.\n\n  2. If skip_prefix() does not match, it leaves \"desc\"\n     untouched, and we show whatever happened to be in it\n     (which is the refname from a call to skip_prefix()\n     earlier in the function).\n\n  3. If we do match with skip_prefix(), we stomp on the\n     \"desc\" variable, which is later passed to\n     add_verbose_info(). We probably want to retain the\n     original refname there (though it likely doesn\u0027t matter\n     in practice, since after all, one points to the other).\n\nThe fix to match the original code is fairly easy: record\nthe prefix to strip based on item-\u003ekind, and use it here.\nHowever, since we already have a local variable named \"prefix\",\nlet\u0027s give the two prefixes verbose names so we don\u0027t\nconfuse them.\n\nSigned-off-by: Jeff King \u003cpeff@peff.net\u003e\nAcked-by: Karthik Nayak \u003ckarthik.188@gmail.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7b45b6bd6b80613de9f894cfbe8e9d2dcae77b09",
      "old_mode": 33188,
      "old_path": "builtin/branch.c",
      "new_id": "f6c23bf5dd600cd8f1bc7029de757d577abdfd02",
      "new_mode": 33188,
      "new_path": "builtin/branch.c"
    },
    {
      "type": "modify",
      "old_id": "4261403cf62542e82d40487e47733f586e106a75",
      "old_mode": 33261,
      "old_path": "t/t3203-branch-output.sh",
      "new_id": "c6a3ccba1b992cff7412bcf8139da7557981de94",
      "new_mode": 33261,
      "new_path": "t/t3203-branch-output.sh"
    }
  ]
}
