)]}'
{
  "commit": "dd98d88be7a2f3782e938701102a96cb09d284da",
  "tree": "9f62b2c982fd677d634b8778f8fb215d0cc84414",
  "parents": [
    "7b6c5836cf02999955b68c79f1cf2d13040acbc3"
  ],
  "author": {
    "name": "Jeff King",
    "email": "peff@peff.net",
    "time": "Fri Dec 16 06:27:50 2011 -0500"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Fri Dec 16 12:33:49 2011 -0800"
  },
  "message": "use custom rename score during --follow\n\nIf you provide a custom rename score on the command line,\nlike:\n\n  git log -M50 --follow foo.c\n\nit is completely ignored, and there is no way to --follow\nwith a looser rename score. Instead, let\u0027s use the same\nrename score that will be used for generating diffs. This is\nconvenient, and mirrors what we do with the break-score.\n\nYou can see an example of it being useful in git.git:\n\n  $ git log --oneline --summary --follow \\\n\t    Documentation/technical/api-string-list.txt\n  86d4b52 string-list: Add API to remove an item from an unsorted list\n  1d2f80f string_list: Fix argument order for string_list_append\n  e242148 string-list: add unsorted_string_list_lookup()\n  0dda1d1 Fix two leftovers from path_list-\u003estring_list\n  c455c87 Rename path_list to string_list\n   create mode 100644 Documentation/technical/api-string-list.txt\n\n  $ git log --oneline --summary -M40 --follow \\\n\t  Documentation/technical/api-string-list.txt\n  86d4b52 string-list: Add API to remove an item from an unsorted list\n  1d2f80f string_list: Fix argument order for string_list_append\n  e242148 string-list: add unsorted_string_list_lookup()\n  0dda1d1 Fix two leftovers from path_list-\u003estring_list\n  c455c87 Rename path_list to string_list\n   rename Documentation/technical/{api-path-list.txt \u003d\u003e api-string-list.txt} (47%)\n  328a475 path-list documentation: document all functions and data structures\n  530e741 Start preparing the API documents.\n   create mode 100644 Documentation/technical/api-path-list.txt\n\nYou could have two separate rename scores, one for following\nand one for diff. But almost nobody is going to want that,\nand it would just be unnecessarily confusing. Besides which,\nwe re-use the diff results from try_to_follow_renames for\nthe actual diff output, which means having them as separate\nscores is actively wrong. E.g., with the current code, you\nget:\n\n  $ git log --oneline --diff-filter\u003dR --name-status \\\n            -M90 --follow git.spec.in\n  27dedf0 GIT 0.99.9j aka 1.0rc3\n  R084    git-core.spec.in        git.spec.in\n  f85639c Rename the RPM from \"git\" to \"git-core\"\n  R098    git.spec.in     git-core.spec.in\n\nThe first one should not be considered a rename by the -M\nscore we gave, but we print it anyway, since we blindly\nre-use the diff information from the follow (which uses the\ndefault score). So this could also be considered simply a\nbug-fix, as with the current code \"-M\" is completely ignored\nwhen using \"--follow\".\n\nSigned-off-by: Jeff King \u003cpeff@peff.net\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7a51d091b5a6babed91f60b9ff7079308afa4e6f",
      "old_mode": 33188,
      "old_path": "tree-diff.c",
      "new_id": "28ad6db9ffa854c3ef9185ba85108e95edc44d51",
      "new_mode": 33188,
      "new_path": "tree-diff.c"
    }
  ]
}
