)]}'
{
  "commit": "de6c14ed3ed5cae07b935819286916321d6fd2cd",
  "tree": "5d12764272824ae890765175d99a45795e6169e0",
  "parents": [
    "9a61c9e761a716f5e8ab064dc4cbe784d3efe65a"
  ],
  "author": {
    "name": "Igor Sysoev",
    "email": "igor@sysoev.ru",
    "time": "Mon Nov 16 15:13:02 2009 +0000"
  },
  "committer": {
    "name": "Igor Sysoev",
    "email": "igor@sysoev.ru",
    "time": "Mon Nov 16 15:13:02 2009 +0000"
  },
  "message": "r3140, r3144, r3298, r3299, r3300, r3307, r3308 merge:\n\nresolver fixes:\n\n*) fix memory leak in resolver\n*) fix resolver cache rbtree comparison\n*) fix segfault in resolver:\n   ngx_resolve_name_done() and ngx_resolve_addr_done() did not delete\n   contexts from a resolver node waiting list.\n*) fix \"PTR .\" case in address resolver\n*) add quotes in an error message,\n*) fix resolving an empty name (\".\")\n*) use ngx_resolver_alloc() instead of ngx_resolver_calloc()\n   since all fields are filled\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2b53ee07e59f2c81a363672859f7f44eec3ac5aa",
      "old_mode": 33188,
      "old_path": "src/core/ngx_resolver.c",
      "new_id": "2a629f2d60ac8c6255f7699f879787faa17d3158",
      "new_mode": 33188,
      "new_path": "src/core/ngx_resolver.c"
    },
    {
      "type": "modify",
      "old_id": "5d9be14847048b7a74c776cbf4044fb2ca7a21ed",
      "old_mode": 33188,
      "old_path": "src/mail/ngx_mail_smtp_handler.c",
      "new_id": "0bc422a0155371cc8168c38925d4cb761b0f9ffb",
      "new_mode": 33188,
      "new_path": "src/mail/ngx_mail_smtp_handler.c"
    }
  ]
}
