)]}'
{
  "commit": "42a73808ed4f30b739eb52bcbb33a02fe62ceef5",
  "tree": "3bd75f0afd1277d9340aa416ff79eec0be040392",
  "parents": [
    "ab70768ec78c6784958bab3b58fbe3f4150006df"
  ],
  "author": {
    "name": "Pavel Emelyanov",
    "email": "xemul@openvz.org",
    "time": "Mon Nov 19 22:38:33 2007 -0800"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Mon Jan 28 14:54:32 2008 -0800"
  },
  "message": "[RAW]: Consolidate proc interface.\n\nBoth ipv6/raw.c and ipv4/raw.c use the seq files to walk\nthrough the raw sockets hash and show them.\n\nThe \"walking\" code is rather huge, but is identical in both\ncases. The difference is the hash table to walk over and\nthe protocol family to check (this was not in the first\nvirsion of the patch, which was noticed by YOSHIFUJI)\n\nMake the -\u003eopen store the needed hash table and the family\non the allocated raw_iter_state and make the start/next/stop\ncallbacks work with it.\n\nThis removes most of the code.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "81a1773b58ba89dd6352c5d5d42f727401e57745",
      "old_mode": 33188,
      "old_path": "include/net/raw.h",
      "new_id": "4d1aba032bf5a42301dc93b67cf735488a3527e0",
      "new_mode": 33188,
      "new_path": "include/net/raw.h"
    },
    {
      "type": "modify",
      "old_id": "d24501a342a4e597cf4b40b14c07099edb4351f8",
      "old_mode": 33188,
      "old_path": "net/ipv4/raw.c",
      "new_id": "2ff8214a530bf2245751d98c3a4896b47b1e7e68",
      "new_mode": 33188,
      "new_path": "net/ipv4/raw.c"
    },
    {
      "type": "modify",
      "old_id": "422d27cfbe16545e6cec5e3c78898e86ea0c6b19",
      "old_mode": 33188,
      "old_path": "net/ipv6/raw.c",
      "new_id": "b34631e1b015c080553cec4ea3f16224c781d30f",
      "new_mode": 33188,
      "new_path": "net/ipv6/raw.c"
    }
  ]
}
