)]}'
{
  "log": [
    {
      "commit": "ec0e8d75ff3e00d025100cc33420b41d9b216094",
      "tree": "4c9a95a11db5079ddf9656e993c6150f1d866bbd",
      "parents": [
        "a6f145b570c65598a00eac078b0f857f0b6d1d8d"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jul 04 16:14:12 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jul 04 22:21:09 2013 +0200"
      },
      "message": "Make exiting with message a function of the exception\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "a6f145b570c65598a00eac078b0f857f0b6d1d8d",
      "tree": "acd6ba2e61c70380d0bc9fbe31ac4044858f7a3a",
      "parents": [
        "c43c60d4763687bd5feb057f9093a97227c5aa13"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jul 04 16:12:21 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jul 04 22:21:09 2013 +0200"
      },
      "message": "Add verbosity/debugging output to TODO\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "c43c60d4763687bd5feb057f9093a97227c5aa13",
      "tree": "3b15a668eea702432be8e21a57c5c86b37b5b8ec",
      "parents": [
        "ff1bae8bc03d15531aea0b5f94ba75b312c0d6d7"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jul 04 16:08:23 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jul 04 22:21:09 2013 +0200"
      },
      "message": "Capitalize error messages from yaml_fs storage backend\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "ff1bae8bc03d15531aea0b5f94ba75b312c0d6d7",
      "tree": "cea086272569366923cc98eeb6fbd0a62f4cddc6",
      "parents": [
        "51406fb63b286b4be9fadb63afbdbe40197fa78f"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jul 04 07:52:30 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jul 04 07:52:30 2013 +0200"
      },
      "message": "Amended descriptions\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "51406fb63b286b4be9fadb63afbdbe40197fa78f",
      "tree": "49583abe32edb5a69016d093c8dd35d7ab823fc3",
      "parents": [
        "da52287043f8828d4359878fdd5ff40d2755868c"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jul 04 07:48:44 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jul 04 07:48:44 2013 +0200"
      },
      "message": "Provide additional meta information\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "da52287043f8828d4359878fdd5ff40d2755868c",
      "tree": "709a519a85bf6713f2ee134a1af561e16775bfc4",
      "parents": [
        "e85333b984fbe343da70d027dafda5535533bb13"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 20:31:55 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 20:31:55 2013 +0200"
      },
      "message": "Add note about running against example inventory\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "e85333b984fbe343da70d027dafda5535533bb13",
      "tree": "1a6c1c5fa690c084323c8912f27c6b14e73203fd",
      "parents": [
        "46c0652de840a36e373632f6c92dae30052ff5ef"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 20:24:25 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 20:24:25 2013 +0200"
      },
      "message": "Git-ignore egg-info files\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "46c0652de840a36e373632f6c92dae30052ff5ef",
      "tree": "3bea23048c3396b44bfe5f254481369d6d2def49",
      "parents": [
        "012103e1eddc7a7811232985ecbeae0c726c9d76"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 20:03:22 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 20:03:22 2013 +0200"
      },
      "message": "Move hacking-relevant docs to separate file\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "012103e1eddc7a7811232985ecbeae0c726c9d76",
      "tree": "1f5dfadb77cb959ac9b427f1d63c02676c2c7259",
      "parents": [
        "0eda02e0ce677a964cd18123ba9f11df40241032"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 20:02:02 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 20:02:02 2013 +0200"
      },
      "message": "Docs update for setuptools\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "0eda02e0ce677a964cd18123ba9f11df40241032",
      "tree": "b3821e8cd3e73198eb0f481a47dce78a677c82e0",
      "parents": [
        "a56b2ec4486ccab2dd11bdd23c1055be8a11e720"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 19:05:34 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 19:05:34 2013 +0200"
      },
      "message": "Header comment update\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "a56b2ec4486ccab2dd11bdd23c1055be8a11e720",
      "tree": "7ee9fd821aaba0aa72cb3e1e624e1e9b482886e0",
      "parents": [
        "0bcf5a9d7125340605e18e50ab6a3cfb8369504a"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 19:04:54 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 19:05:15 2013 +0200"
      },
      "message": "Factor out version information to central location\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "0bcf5a9d7125340605e18e50ab6a3cfb8369504a",
      "tree": "9ebbf39892bfe5cea846ef32b3f757de188b7f91",
      "parents": [
        "b029e75c8953b57254f6387bda71510d30a7035e"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 17:09:28 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 17:09:28 2013 +0200"
      },
      "message": "Remove unnecessary Makefile\n"
    },
    {
      "commit": "b029e75c8953b57254f6387bda71510d30a7035e",
      "tree": "dc20e560f621bee09ca798e333f4c1dab0ecf024",
      "parents": [
        "c70e4ee0ac7511dc93c47d0589732212262c2fe7"
      ],
      "author": {
        "name": "Ollie Walsh",
        "email": "ollie.walsh@geemail.kom",
        "time": "Sat Jun 29 14:14:23 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 17:09:06 2013 +0200"
      },
      "message": "Basic setuptools support\n"
    },
    {
      "commit": "c70e4ee0ac7511dc93c47d0589732212262c2fe7",
      "tree": "bf667d47d23771c58f3f711071cfbe37c68f7338",
      "parents": [
        "243eb3d39768b86906b37bf8862be1e4dfd96ad9"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 15:37:01 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 15:37:19 2013 +0200"
      },
      "message": "Add variable interpolation TODO\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "243eb3d39768b86906b37bf8862be1e4dfd96ad9",
      "tree": "e0f9a7aa9ed5b54ac3b48877c9797d3396efdd2f",
      "parents": [
        "367532c77377dcbe5ada42d54757cd2e2acf2135"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 15:28:34 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 15:37:19 2013 +0200"
      },
      "message": "README update about contributing and pull requests\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "367532c77377dcbe5ada42d54757cd2e2acf2135",
      "tree": "59f159f80e75b548a5032350bfd062abc2e5be4f",
      "parents": [
        "e38475f484817c9d835e26a703a30cdf9d0a784b"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 21:08:18 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 15:37:19 2013 +0200"
      },
      "message": "Add README for Salt integration/adapter\n"
    },
    {
      "commit": "e38475f484817c9d835e26a703a30cdf9d0a784b",
      "tree": "a689ff671e009ef1c691055bff4a41fb0bb40fa6",
      "parents": [
        "42c475dfb3ab88794c89ad653c3978c6bddf9d71"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jul 01 15:08:47 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 15:37:19 2013 +0200"
      },
      "message": "Move Salt-internals to Salt\u0027s reclass adapters\n\nThe Salt reclass_adapter plugins now hide all the internals and provide\nreclass only with the information it needs, without having to make\nassumptions about Salt internals.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "42c475dfb3ab88794c89ad653c3978c6bddf9d71",
      "tree": "a57e9f3ae98ce50afd6ee3e3097a72f7e71aec4c",
      "parents": [
        "df1014f8b90c84bcaca4d269b0d01c6bec6f2ec8"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 18:39:06 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 15:22:47 2013 +0200"
      },
      "message": "Initial version of a Salt adapter\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "df1014f8b90c84bcaca4d269b0d01c6bec6f2ec8",
      "tree": "f7e710e5ff5877331d5ad97d2ad2c745a109c560",
      "parents": [
        "c2c355b09909ab57610b2832e2a9dd5cd8c83d20"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 14:37:53 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jul 03 14:37:53 2013 +0200"
      },
      "message": "Move applications_postfix to Ansible adapter\n\nIn its current incarnation, the applications_postfix configuration\nparameter, along with the concept of \"groups\" is only relevant to\nAnsible. Therefore, in the interest of simplicity, move it out of the\nmain code and into the Ansible adapter.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "c2c355b09909ab57610b2832e2a9dd5cd8c83d20",
      "tree": "93abb948dcb666fc1cd0707e4afa9e33d69f7807",
      "parents": [
        "cb93bc729bd5929c596c290e217aca545c6837bc"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jul 01 20:04:15 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jul 01 20:05:03 2013 +0200"
      },
      "message": "Add note about deprecation of ansible adapter\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "cb93bc729bd5929c596c290e217aca545c6837bc",
      "tree": "7ebf969dff0d4d89d1a81e630c302a4fd1049c9c",
      "parents": [
        "d3bc8bb6f07c8c9be97bf6d714a068c0c827cd1b"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jul 01 19:31:47 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jul 01 19:32:19 2013 +0200"
      },
      "message": "Add TODO about adapters and entrypoints\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "d3bc8bb6f07c8c9be97bf6d714a068c0c827cd1b",
      "tree": "02ae43616474e98f3ad11c1b0884c16851bab196",
      "parents": [
        "3664cf2f1aceaef680f986ddacd4f7979e0fe58f"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jul 01 15:17:56 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jul 01 15:17:56 2013 +0200"
      },
      "message": "Test update for 1de70cc\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "3664cf2f1aceaef680f986ddacd4f7979e0fe58f",
      "tree": "6ecc520c36bed7acc4e578396b8aa9cbf3a5e88b",
      "parents": [
        "db915945dec61075d0584015f64ed84b2e0b184b"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 28 13:24:40 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 28 13:24:59 2013 +0200"
      },
      "message": "Default inventory_base to .\n\nIf inventory_base_uri is not passed, default it to the current\ndirectory.\n\nIn either case, default nodes_uri and classes_uri to \u0027nodes\u0027 and\n\u0027classes\u0027 in all cases.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "db915945dec61075d0584015f64ed84b2e0b184b",
      "tree": "42461f03ca4839d53c573bb589025e42a1e86e88",
      "parents": [
        "90015d047925d7f0f67dd4147f1d2dc6fe72eef1"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 28 12:34:58 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 28 12:38:27 2013 +0200"
      },
      "message": "Add applications to groups only if postfix is defined\n\nIf applications_postfix is not set, then the groups list should only be\nthe classes list. Else there might be naming conflicts.\n\nIn any case, applications_postfix is probably not going to stay, so this\nis a hack.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "90015d047925d7f0f67dd4147f1d2dc6fe72eef1",
      "tree": "9b9c61b83d47fc5413359197c5bd9e635782f9b2",
      "parents": [
        "4cf004bacb317dceaf8ffb39becb682f4f59f14c"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 18:44:02 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:47:30 2013 +0200"
      },
      "message": "Add rudimentary error handling to yaml_fs\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "4cf004bacb317dceaf8ffb39becb682f4f59f14c",
      "tree": "4af62325cefa60958636b32bc7ede74cdcfbc452",
      "parents": [
        "4b855e62bd4f92c7aa9b2614cb6eb57e112d7db6"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 18:38:23 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:47:30 2013 +0200"
      },
      "message": "Make reclass key on return data look internal\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "4b855e62bd4f92c7aa9b2614cb6eb57e112d7db6",
      "tree": "6ab9475647ba34e8450af05a36702a244f6dccda",
      "parents": [
        "833936fe5838f6d52f0aae7c194f54cf0c7fb1b3"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:46:18 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:47:30 2013 +0200"
      },
      "message": "Allow node to be None to trigger inventory\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "833936fe5838f6d52f0aae7c194f54cf0c7fb1b3",
      "tree": "182a8addd96bb9de43df6b525f8f550da857db6d",
      "parents": [
        "1de70ccc9ec6161bfe167546f01e72c7570d75a1"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 17:58:30 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:47:29 2013 +0200"
      },
      "message": "Default to pretty-printed YAML output\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "1de70ccc9ec6161bfe167546f01e72c7570d75a1",
      "tree": "1facbb6ce15f62d669a1a51b4637d97b3b703cc2",
      "parents": [
        "80c79e24bbcdea5c493af5bbb9b9004235a99565"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 16:11:58 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:47:29 2013 +0200"
      },
      "message": "Put all information into inventory output\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "80c79e24bbcdea5c493af5bbb9b9004235a99565",
      "tree": "a3129920b93ed3673e4375c94fcd1d402631f83a",
      "parents": [
        "b37f9dfe83ee53b32c8756cbb66b7923d4bd9b9a"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 18:35:11 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:47:29 2013 +0200"
      },
      "message": "Add timestamp to nodeinfo in storage\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "b37f9dfe83ee53b32c8756cbb66b7923d4bd9b9a",
      "tree": "d9045ce4ccf136ab4f7987a5c6b9c60c0c6659b3",
      "parents": [
        "97a554d4ed3d9971b9218152f0f2954f0e788833"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 15:41:31 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:47:29 2013 +0200"
      },
      "message": "Refactor the Ansible adapter\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "97a554d4ed3d9971b9218152f0f2954f0e788833",
      "tree": "6b73c4aa6ccd0d51bf1521af203c7ce9f16a6968",
      "parents": [
        "9d3c6a451807792c1c7dfce143df9c4e7bc5d1a0"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 13:27:49 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:47:29 2013 +0200"
      },
      "message": "Add an InvocationError exception\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "9d3c6a451807792c1c7dfce143df9c4e7bc5d1a0",
      "tree": "943fa53ec5eca2da0a4804e0397cce5739fac8f3",
      "parents": [
        "7c64f9cbc5961ddf06ec5eb06e493b6705ce23ac"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 13:27:36 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:47:29 2013 +0200"
      },
      "message": "Refactor exceptions, reuse message\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "7c64f9cbc5961ddf06ec5eb06e493b6705ce23ac",
      "tree": "2bab6c994b2440f77a05dd58cb45d010d552b1b9",
      "parents": [
        "aeb1c8d96ae2723a5b13fdab90b337c50d945b52"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jun 25 13:26:23 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:47:29 2013 +0200"
      },
      "message": "Restructure reclass into a Python module\n\nBy moving all code into ./reclass/, reclass can now be used as a Python\nmodule. The Ansible adapter and the CLI have been updated accordingly.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "aeb1c8d96ae2723a5b13fdab90b337c50d945b52",
      "tree": "f572561ac39be146738dcd55ae1e88813bc591d8",
      "parents": [
        "3924e89044fe445a663ffab4e1712634101ae9c1"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 18:05:22 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:47:29 2013 +0200"
      },
      "message": "Default the inventory_base_uri to the current directory\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "3924e89044fe445a663ffab4e1712634101ae9c1",
      "tree": "3f008082be00d5cec73e08db6631e749fb3e57c3",
      "parents": [
        "d2fd6863eb02569fa1906d26cffaf42a86ee76aa"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jun 25 11:57:03 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:47:29 2013 +0200"
      },
      "message": "Introduce --inventory-base-uri option\n\nThe --inventory-base-uri will get prepended to the --nodes-uri and\n--classes-uri options, unless they are absolute paths.\n\n--nodes-uri and --classes-uri now default to \u0027nodes\u0027 and \u0027classes\u0027\nrespectively.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "d2fd6863eb02569fa1906d26cffaf42a86ee76aa",
      "tree": "a7f9dff229e128a5f834e25120f32b09b4cdbf1e",
      "parents": [
        "a7451017fe627ac2d367fed39c3f7938a87d5929"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 16:12:12 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:47:29 2013 +0200"
      },
      "message": "Add TODO item about YAML filename extensions\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "a7451017fe627ac2d367fed39c3f7938a87d5929",
      "tree": "d7ed20a82f1795eb9546ade5ded0ec3c943f2625",
      "parents": [
        "7e314601cfa4677c849c3f16bcfeebd6d96e88b7"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 18:09:20 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:47:29 2013 +0200"
      },
      "message": "Add note about having to run make to README.Ansible\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "7e314601cfa4677c849c3f16bcfeebd6d96e88b7",
      "tree": "5b361afe61a2c0c917dbca35f23336fa25c9a95b",
      "parents": [
        "5ee69b3779f384af0322324bb51f58a82c9fe4f5"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 18:39:34 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 26 20:47:29 2013 +0200"
      },
      "message": "Ignore Vim swap files in git-status output\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "5ee69b3779f384af0322324bb51f58a82c9fe4f5",
      "tree": "aaa34549f378ebf1356c3df4f674855e12697300",
      "parents": [
        "42df1faea0e46c3cbafadca787a4c7062a3415db"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jun 24 13:41:06 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jun 24 13:41:06 2013 +0200"
      },
      "message": "Split Ansible-specific stuff from README\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "42df1faea0e46c3cbafadca787a4c7062a3415db",
      "tree": "432a977ada49457735dd6e8b847916d8932c198d",
      "parents": [
        "87f23c342127206ebf12300c8e4e577e45a3bc1b"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jun 24 13:15:24 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jun 24 13:15:24 2013 +0200"
      },
      "message": "Rename file to .gitignore\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "87f23c342127206ebf12300c8e4e577e45a3bc1b",
      "tree": "b68701a23f698c3aeb6a23d0e272e2460e31c921",
      "parents": [
        "729481ce247f8ac29efb375ae879e4a9fed2e451"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 23 21:27:18 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jun 24 12:36:32 2013 +0200"
      },
      "message": "Fix merging of parameters\n\nThe merging logic was wrong, inverting the behaviour of parameter\nmerging, somewhat anyway.\n\nThis is now fixed. Entities are collected in a list, and then the list\nis reduced through merging the second element into the first. The entity\nof the current level is only merged once, at the very end.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "729481ce247f8ac29efb375ae879e4a9fed2e451",
      "tree": "8943e65955bdde9ce18c0166650a742f84bb5a5c",
      "parents": [
        "b0f63e1610cd4d91a7e1975aeb9993ae40f919e7"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jun 24 12:24:49 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jun 24 12:31:14 2013 +0200"
      },
      "message": "Add optional name attribute to entities\n\nEntities can now carry an optional name attribute, and the YamlFile\nclass uses that to store the basename of the file, which eases debugging\ntremendously.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "b0f63e1610cd4d91a7e1975aeb9993ae40f919e7",
      "tree": "f6214cb875c406832a153ee79a7da88d614bb6c8",
      "parents": [
        "e91f0597eecd4b6effaf31179c8f93bab83988c0"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jun 24 12:23:03 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Jun 24 12:31:14 2013 +0200"
      },
      "message": "Remove debugging print calls\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "e91f0597eecd4b6effaf31179c8f93bab83988c0",
      "tree": "07d1b2d6e186db34cc80ce52226ac5708ff5b912",
      "parents": [
        "d4833b3ca4a2bbd990b3e5794849b5eaad9ee13a"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 23 16:57:12 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 23 16:57:12 2013 +0200"
      },
      "message": "Fix example hosts symlink\n\nThis fixes #2, thanks for the catch\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "d4833b3ca4a2bbd990b3e5794849b5eaad9ee13a",
      "tree": "a3608e96e764f2d7a14c1210589670b52cecfc8f",
      "parents": [
        "9a9b0ac4ca1fb69a7a235a5d032c4f22ad6e8f81"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 23 13:35:46 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 23 13:35:46 2013 +0200"
      },
      "message": "Make Python-path configurable\n\nThis commit introduces a Makefile that needs to be run initially to\nconfigure reclass for use on the local system, by setting the full path\nto the Python interpreter.\n\nCloses: #1\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "9a9b0ac4ca1fb69a7a235a5d032c4f22ad6e8f81",
      "tree": "abe6429720bb32ef5f4266539bf6195dc64759bc",
      "parents": [
        "a0db0700413a4e59bc02309289dd43c81e424d73"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 21 21:24:18 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 21 21:38:26 2013 +0200"
      },
      "message": "Allow applications postfix to be configured\n\nThe postfix _hosts appended to applications to create host groups is now\nconfigurable.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "a0db0700413a4e59bc02309289dd43c81e424d73",
      "tree": "dcd0d8e1222e7078f005e944f97214c63b47a1bd",
      "parents": [
        "ff1cb06c9fb4aa5cbeea29c96a7ceca1fbc58b0c"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jun 20 17:25:01 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jun 20 17:25:01 2013 +0200"
      },
      "message": "fixups\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "ff1cb06c9fb4aa5cbeea29c96a7ceca1fbc58b0c",
      "tree": "ffe9df26fcb52aa99ed48d9ac96d809dc1049a53",
      "parents": [
        "6e9dcbaecc9bfda31f3c3f2edf7d04a5b26f085c"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jun 20 17:23:00 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jun 20 17:23:00 2013 +0200"
      },
      "message": "Doc clarifications to order of evaluation\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "6e9dcbaecc9bfda31f3c3f2edf7d04a5b26f085c",
      "tree": "258f6e8e832360a1c10fa6c02c8f77d74a7937aa",
      "parents": [
        "e497b75945241303ae7556b3f7d3a3e2f4216021"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 16 15:21:09 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 16 15:21:09 2013 +0200"
      },
      "message": "Document variable polymorphism\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "e497b75945241303ae7556b3f7d3a3e2f4216021",
      "tree": "8449f47370a6a8a0ee1e06cc8ddbde3745897d8d",
      "parents": [
        "ae0a392ccbace6188ff66b636d45e04c8b6772dd"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 16 14:15:11 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 16 14:15:11 2013 +0200"
      },
      "message": "Handle empty top-level parameters\n\nIf classes/applications/parameters are undefined, that\u0027s not an error.\nJust make them empty collections.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "ae0a392ccbace6188ff66b636d45e04c8b6772dd",
      "tree": "ac73c2d579f554292f332d0cc22d194707ff3757",
      "parents": [
        "33223a2916918f3bc1acf20622559606ffc62670"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 16 12:46:05 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 16 12:47:36 2013 +0200"
      },
      "message": "Improved merging of null-values\n\nYAML returns \u0027None\u0027 when a key is parsed without a value. This is\nproperly handled by a95eaa35f5c48417420fe37472d8148fdbf5ddd5, except for\nthe recursive dict merger, which shouldn\u0027t overwrite existing data\nstructures when None is encountered. The solution is simply to provide\nappropriate policy entries for when the second value is a NoneType.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "33223a2916918f3bc1acf20622559606ffc62670",
      "tree": "8530bb0d7336c1054c83f8f444dd0bb30109f463",
      "parents": [
        "f0265d457bcd1e4f51bb1422ab78e23beeab50c8"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 16 12:14:49 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 16 12:15:24 2013 +0200"
      },
      "message": "test types of Entity attributes\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "f0265d457bcd1e4f51bb1422ab78e23beeab50c8",
      "tree": "bf6ff59a88810a5efd2cf407e9c53421ca5d5378",
      "parents": [
        "a95eaa35f5c48417420fe37472d8148fdbf5ddd5"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 16 12:14:16 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 16 12:15:20 2013 +0200"
      },
      "message": "Reorder Entity constructor, parameters last\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "a95eaa35f5c48417420fe37472d8148fdbf5ddd5",
      "tree": "1d5bd053ad8deacda62570b1cc1ced986b0c99a0",
      "parents": [
        "a07b4208dcf30cdab35a8021c54a767f0b47cf3c"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 16 11:56:41 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 16 11:56:41 2013 +0200"
      },
      "message": "Handle merging None into lists/dicts\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "a07b4208dcf30cdab35a8021c54a767f0b47cf3c",
      "tree": "be95851c4e263e4d7580192bb48c58b3e892118c",
      "parents": [
        "404df4b879a8562f4fc9aa2fd444a36a446b5792"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 16 11:55:35 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jun 16 11:55:35 2013 +0200"
      },
      "message": "Remove old files that are not needed\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "404df4b879a8562f4fc9aa2fd444a36a446b5792",
      "tree": "accf094fdbae9663cc60e499d05ae7a2203ff19e",
      "parents": [
        "00e6a8109adcb1deada5e6a0b03fb37c68322aad"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Jun 15 15:41:58 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Jun 15 15:41:58 2013 +0200"
      },
      "message": "Test applications parsing in YamlFile\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "00e6a8109adcb1deada5e6a0b03fb37c68322aad",
      "tree": "0ca1f20228b648ec3c0907a115f2b136a5653ae5",
      "parents": [
        "f7858a84a165b59d0b55674b82c1cbc7c68c03f6"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Jun 15 15:40:41 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Jun 15 15:40:41 2013 +0200"
      },
      "message": "Handle reading of empty YamlFiles\n\npython-yaml\u0027s safe_load returns \u0027None\u0027 when it parses an empty YamlFile,\nbut since empty YamlFiles correspond to empty dictionaries, really, we\nhandle things accordingly.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "f7858a84a165b59d0b55674b82c1cbc7c68c03f6",
      "tree": "dbed231d9377bfad78f55d154bcb6fce5a7d5fd7",
      "parents": [
        "e39e89076f6d78155344d71a7b524f1721c1d602"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Jun 15 15:33:28 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Jun 15 15:35:18 2013 +0200"
      },
      "message": "Identify YamlFile by path, not name\n\nThere is no point in storing a \u0027name\u0027 for a YamlFile, let\u0027s use the\npath, which is unique.\n\nAlso, adds a test for the property.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "e39e89076f6d78155344d71a7b524f1721c1d602",
      "tree": "af5ae50751b18e0da43e959203d071fcd8049488",
      "parents": [
        "b608e6d7445a49a22e0ce7097a7e94f82fdc645b"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 22:12:17 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 22:12:17 2013 +0200"
      },
      "message": "README touchups\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "b608e6d7445a49a22e0ce7097a7e94f82fdc645b",
      "tree": "7aed9e21ea87fdb1069a0ae7f62e8e1b848ea027",
      "parents": [
        "3434b6b07a260ec50ce83e0b1fa6f58d4309fb20"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 22:10:43 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 22:10:52 2013 +0200"
      },
      "message": "additional notes about playbooks\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "3434b6b07a260ec50ce83e0b1fa6f58d4309fb20",
      "tree": "d7516bfecf7af10497189f718480eac313d87352",
      "parents": [
        "9b2049eef93dbed672e5d9cb672328403eb3edd3"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 20:40:52 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 20:40:52 2013 +0200"
      },
      "message": "Exception handling when file-not-found\n\nAdded rudimentary exception handling for when yaml_fs encounters\na node/class for which no file exists.\n\nUnfortunately, there is no way to properly communicate that to Ansible\nwhen it invokes the adapter. Oh well.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "9b2049eef93dbed672e5d9cb672328403eb3edd3",
      "tree": "77daa7cae51f5bedafd2c744edaec07400e58c4b",
      "parents": [
        "622398921b6427df420c7b7a7be5ec034e3b9e0a"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 20:05:08 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 20:05:08 2013 +0200"
      },
      "message": "Add Git recommendation\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "622398921b6427df420c7b7a7be5ec034e3b9e0a",
      "tree": "6c38da8c6e24b66c1d50d730b97c0555bdfc2dfc",
      "parents": [
        "9fd35ca44a261e7e523f6fa60b8fc64733efc53e"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 20:03:59 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 20:03:59 2013 +0200"
      },
      "message": "add a bit of a sales blurb\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "9fd35ca44a261e7e523f6fa60b8fc64733efc53e",
      "tree": "f2fa209ca8c61a2367c13a3327d2f76149c5a825",
      "parents": [
        "3c33322c82f9ef658658a83d250efefa8255986f"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 19:56:26 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 19:56:26 2013 +0200"
      },
      "message": "Add LICENSE\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "3c33322c82f9ef658658a83d250efefa8255986f",
      "tree": "b65806bb0cffa5227d4d2a21782efef81803098c",
      "parents": [
        "f37f06830233ee4a30cffb684ad97bc64043f925"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 19:27:57 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 19:51:08 2013 +0200"
      },
      "message": "add batch of docs\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "f37f06830233ee4a30cffb684ad97bc64043f925",
      "tree": "03fdbd899c4f8ba73d958d3db3014d234aec97d1",
      "parents": [
        "f1501201df46d8d4d1ae21b302911823cee87807"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 16:36:20 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 19:48:32 2013 +0200"
      },
      "message": "Import of working code base\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "f1501201df46d8d4d1ae21b302911823cee87807",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 19:47:01 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jun 14 19:47:01 2013 +0200"
      },
      "message": "Initial, empty commit\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    }
  ]
}
