)]}'
{
  "commit": "b74544d3458182f6eda9e0862269d1159146b9f2",
  "tree": "57c427754c2771fd78b3c700348bba2544280497",
  "parents": [
    "27416cc1b98f1eadae6f87df3a2ac346ba8cef59"
  ],
  "author": {
    "name": "eanderton",
    "email": "eric.t.anderton@gmail.com",
    "time": "Thu Sep 04 23:17:29 2014 -0400"
  },
  "committer": {
    "name": "eanderton",
    "email": "eric.t.anderton@gmail.com",
    "time": "Thu Sep 04 23:17:29 2014 -0400"
  },
  "message": "Changed match func strategy; added tests\n\nAs it turns out, closures are very hard to validate without running them.\nSince table-driven tests tend to rely on value types that can be\ncompared directly, using structs that adhere to a generic callback\ninterface is more work, but is more easily tested.\n\n* Changed jsonpath match functions to structs with Call() methods\n* Added tests to verify the generation of jsonpath QueryPath data\n* Added tests to verify jsonpath lexer\n* Fixed jsonpath whitespace handling bug\n* Fixed numerous flaws in jsonpath parser\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dc830fe1df759221af537046bf0fbe8c29ae8839",
      "old_mode": 33188,
      "old_path": "jpath/lexer.go",
      "new_id": "2d30bb5f0a0c3dc49ee8c397564f602f994e3311",
      "new_mode": 33188,
      "new_path": "jpath/lexer.go"
    },
    {
      "type": "modify",
      "old_id": "5e2449752225eca8a0e5a889a0a8e3da130871d8",
      "old_mode": 33188,
      "old_path": "jpath/lexer_test.go",
      "new_id": "c553e2a56404175e9aa3dac6e8ea9eba834ea210",
      "new_mode": 33188,
      "new_path": "jpath/lexer_test.go"
    },
    {
      "type": "modify",
      "old_id": "9496168754e5c2a169c4673de6748434e91d31d5",
      "old_mode": 33188,
      "old_path": "jpath/match.go",
      "new_id": "9a9ef0bf1f09c7a20c85d2f5ccb7b934367debc6",
      "new_mode": 33188,
      "new_path": "jpath/match.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5e7f73c0318b5ebab8ac3de7250416e794d12a2b",
      "new_mode": 33188,
      "new_path": "jpath/match_test.go"
    },
    {
      "type": "modify",
      "old_id": "9fcd0c35ad71475d69638076d9ba65264e16ca56",
      "old_mode": 33188,
      "old_path": "jpath/parser.go",
      "new_id": "ce370813038c67e1c7d646f76ffb90ead9189705",
      "new_mode": 33188,
      "new_path": "jpath/parser.go"
    },
    {
      "type": "modify",
      "old_id": "1571f0223e963dd4dc7fbe45d1653f5df47158e4",
      "old_mode": 33188,
      "old_path": "jpath/parser_test.go",
      "new_id": "2e16a2fb2bfe92b7c15dec308c4d94f4be64c1f9",
      "new_mode": 33188,
      "new_path": "jpath/parser_test.go"
    }
  ]
}
