)]}'
{
  "commit": "07e5b645059167a37ccf1079a125114339c0df9e",
  "tree": "f77f6d914078f8bfb5271c17d2d9e4cc46a78dcf",
  "parents": [
    "cbd976b54d51fea2f3d532e8d5aac66d6294acc2"
  ],
  "author": {
    "name": "Avneesh Sachdev",
    "email": "avneesh@sproute.com",
    "time": "Mon Apr 04 10:54:55 2016 -0700"
  },
  "committer": {
    "name": "Paul Jakma",
    "email": "paul.jakma@hpe.com",
    "time": "Tue Sep 13 10:36:42 2016 +0100"
  },
  "message": "qpb: Add support for protobuf.\n\nInfrastructure that allows protocol buffers to be used in Quagga. The\nchanges below comprise of:\n\n  - Build hooks\n\n  - Protobuf definitions for common types.\n\n  - Library routines for working with protobuf, including functions\n    that help translate between common quagga types and their protobuf\n    equivalents.\n\nChanges:\n\n  * qpb/{Makefile.am,README.txt,qpb.h,.gitignore}\n\n    Add the qpb library, which provides shared code and definitions\n    for using protocol buffers in quagga code.\n\n  * qpb/qpb.proto\n\n    Protobuf definitions that can be shared by all of quagga.\n\n  * qpb/linear_allocator.h\n\n    An allocator that allocates memory by walking down towards the end\n    of a buffer. This is used to cheaply allocate/deallocate memory on\n    the stack for protobuf operations.\n\n  * qpb/qpb_allocator.[ch]\n\n    Thin layer that allows a linear allocator to be used with the\n    protobuf-c library.\n\n  * common.am\n\n    This is an automake fragment that is intended to be shared by\n    Makefile.am files in the tree. It currently includes definitions\n    related to protobuf.\n\n  * configure.ac\n\n    - Add logic to optionally build protobuf code.\n\n      By default, protobuf support is enabled if the protobuf C\n      compiler (protoc-c) is available, and the associated header\n      files/library can be found.\n\n      The user can choose to override this behavior via the new\n      --disable-protobuf/--enable-protobuf flags.\n\n    - Include the quagga protobuf library (qpb) in the build.\n\n  * .gitignore\n\n    Ignore source code generated by protobuf compiler.\n\n  * Makefile.am\n\n    Add \u0027qpb\u0027 to the list of subdirectories.\n\nSigned-off-by: Avneesh Sachdev \u003cavneesh@sproute.com\u003e\n\nEdited: Paul Jakma \u003cpaul.jakma@hpe.com\u003e: Change the sense of the\n        configure enable option to require explicit specifying, as\n        an experimental feature.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e8de252370deb597a22e1b3208da4a342bfdb178",
      "old_mode": 33188,
      "old_path": ".gitignore",
      "new_id": "a281555e494b99ac62d32eabfd0f21708f21a447",
      "new_mode": 33188,
      "new_path": ".gitignore"
    },
    {
      "type": "modify",
      "old_id": "d2efb20eb75451b1786b48e9bfd5df2b03bb2da0",
      "old_mode": 33188,
      "old_path": "Makefile.am",
      "new_id": "87ba3d0c121e6d6bf8c470c9ae4e1856ceca4f82",
      "new_mode": 33188,
      "new_path": "Makefile.am"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ac7a3230daacc1af54290adc118310b05cf576dc",
      "new_mode": 33188,
      "new_path": "common.am"
    },
    {
      "type": "modify",
      "old_id": "c35a111c53d41b5bf75830a8805a5856b094e963",
      "old_mode": 33261,
      "old_path": "configure.ac",
      "new_id": "d36b580a0dc13e249037c9ff4554982e410ac5e4",
      "new_mode": 33261,
      "new_path": "configure.ac"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b133c52a42dc08638463b1250cf309691fbfee08",
      "new_mode": 33188,
      "new_path": "qpb/.gitignore"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0fbda61f3ccdfd1e195dff29dfda53a769c4f337",
      "new_mode": 33188,
      "new_path": "qpb/Makefile.am"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "99ccd05511048de6bf2bf60208345e238281e40a",
      "new_mode": 33188,
      "new_path": "qpb/README.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e3ebbc64f3bb29f1c2684e19bf4249eb214550ff",
      "new_mode": 33188,
      "new_path": "qpb/linear_allocator.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1b2b47fce58b564038c4b90de663be946867e7b7",
      "new_mode": 33188,
      "new_path": "qpb/qpb.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "55c1deb19de0ace57702cd8ae93dd33d8ae01149",
      "new_mode": 33188,
      "new_path": "qpb/qpb.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7ee409df8788628abe4c4c92ecda95031e651ea9",
      "new_mode": 33188,
      "new_path": "qpb/qpb.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4b4830a4765ceca5e4b7fdef7d63c3327831ddd3",
      "new_mode": 33188,
      "new_path": "qpb/qpb_allocator.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "83ddf56cbc926b36ee8823eb52c0e4182d66d335",
      "new_mode": 33188,
      "new_path": "qpb/qpb_allocator.h"
    }
  ]
}
