)]}'
{
  "log": [
    {
      "commit": "1582dfdccf495ae7b323e26acf5ada64562e298f",
      "tree": "5959c92f69ecee8c8b4e45d739fb73ea536990f3",
      "parents": [
        "fb842d6371132d95e378cdc679a3df77392e43c2"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jan 03 13:10:51 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jan 03 14:32:59 2014 +1300"
      },
      "message": "Instantiate constants for better debug output\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "fb842d6371132d95e378cdc679a3df77392e43c2",
      "tree": "15537eb80b982553f419dfaddaebcad359fef0d5",
      "parents": [
        "5c3c39d96d0a8bda42ef1bcfe6635e121e4dc340"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:58:29 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jan 03 14:32:59 2014 +1300"
      },
      "message": "Reenable caching via memcache storage proxy\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "5c3c39d96d0a8bda42ef1bcfe6635e121e4dc340",
      "tree": "97baf7615bea41bd070ce9489ce5276cbc449e7a",
      "parents": [
        "483034f5818e6827f886c2f96534b3fc9dfa0a32"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:57:54 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jan 03 14:32:59 2014 +1300"
      },
      "message": "Factor out all reclass logic from storage classes\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "483034f5818e6827f886c2f96534b3fc9dfa0a32",
      "tree": "94dd4f74fceb1c3bfe7e9fad3c7eda202f7f5713",
      "parents": [
        "383ed029b1e18957a8a13126e98820aa52d5ca23"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:56:15 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:59:11 2014 +1300"
      },
      "message": "Factor storage loader into its own module\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "383ed029b1e18957a8a13126e98820aa52d5ca23",
      "tree": "63b4d5538a21b919f03f761695158b026f409cce",
      "parents": [
        "4d6b2c30c96d38cbce25f34bccd2f7e3b7a352ab"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:54:01 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:59:11 2014 +1300"
      },
      "message": "mangle paths inside config module already\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "4d6b2c30c96d38cbce25f34bccd2f7e3b7a352ab",
      "tree": "6a7e6801d0376ab11b2b55df1bbbcda0f22c04fe",
      "parents": [
        "523e827b1f6cdc6ee16fb53ac9789fdb63450cea"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:51:04 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:59:11 2014 +1300"
      },
      "message": "Add memcache proxy preparing to factor out caching\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "523e827b1f6cdc6ee16fb53ac9789fdb63450cea",
      "tree": "e902e0a3df06a8eb04ae0b87bff95f55c49144a5",
      "parents": [
        "1ba35c5f8a91179f310e43acde11154783cfa927"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 13:08:03 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 15:24:33 2014 +1300"
      },
      "message": "Rework exceptions, improve message handling\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "1ba35c5f8a91179f310e43acde11154783cfa927",
      "tree": "a7e0ea1a3d6f42fc87b22edfc7027116745ec2b2",
      "parents": [
        "1a2cc1485d67d757e324147659a3603aa4513072"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 11:10:58 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Jan 02 11:10:58 2014 +1300"
      },
      "message": "Copyright year update, happy new year!\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "1a2cc1485d67d757e324147659a3603aa4513072",
      "tree": "8ec43799c82f254ecb3f3a375239fa708939df81",
      "parents": [
        "f10890386bb37239f7a342060b2562ea31d7ee6d"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 11:14:15 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 11:14:15 2013 +1300"
      },
      "message": "Add class subdirectories todo\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "f10890386bb37239f7a342060b2562ea31d7ee6d",
      "tree": "8838d972c57bb11620b72e910cd47240dd6255b5",
      "parents": [
        "42886f7b48f50477969dfcf5b57c9b1a432163c3"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:41:17 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:41:17 2013 +1300"
      },
      "message": "Prepare reclass 1.2.2\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "42886f7b48f50477969dfcf5b57c9b1a432163c3",
      "tree": "7ba639ee4aa3529fa0a3413099288905226b142a",
      "parents": [
        "02550e416673555c75bdad1ab0b88c7e5f8715cb"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:40:05 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:40:05 2013 +1300"
      },
      "message": "Record doc fix (02550e4) in changelog\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "02550e416673555c75bdad1ab0b88c7e5f8715cb",
      "tree": "0941a9540cd9bdc59e00df49594b7d26a6f9182f",
      "parents": [
        "2359f227c61e22d9107923a9df5433352eec7906"
      ],
      "author": {
        "name": "Daniel Dehennin",
        "email": "daniel.dehennin@baby-gnu.org",
        "time": "Fri Dec 27 09:38:14 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:38:14 2013 +1300"
      },
      "message": "Fix class mapping regexp rendering in docs\n\nCloses: https://github.com/madduck/reclass/issues/15\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "2359f227c61e22d9107923a9df5433352eec7906",
      "tree": "320259ee02a75f5fcd6ae5f91b82f7f57137c6d6",
      "parents": [
        "10e277cd840e6bb1727d1bfff5541faad317b0c3"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:37:07 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:37:07 2013 +1300"
      },
      "message": "Record class_mappings fix (10e277c) in changelog\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "10e277cd840e6bb1727d1bfff5541faad317b0c3",
      "tree": "b79e389bc0cde8d01299e44278802d88e7a206ba",
      "parents": [
        "3ae5f8391f6f15a4cb4d545be80410f86885f764"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:32:57 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:34:47 2013 +1300"
      },
      "message": "Recurse classes defined in class_mappings\n\nClass mappings produce a list of classes. Obviously, this list needs to\nbe iterated and each class recursed too.\n\nCloses: https://github.com/madduck/reclass/issues/16\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "3ae5f8391f6f15a4cb4d545be80410f86885f764",
      "tree": "6f1e127f4e59ffeddc14913efb2ca6eed91074ed",
      "parents": [
        "f7aaa9b3c0fd127f2bd4560225f8136124a19037"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:32:45 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Dec 27 09:32:45 2013 +1300"
      },
      "message": "Fix class-not-found error message, add nodename\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "f7aaa9b3c0fd127f2bd4560225f8136124a19037",
      "tree": "9b37ef7dfa763de0219531818d5802aea6032908",
      "parents": [
        "b26aab656d7595ef074faed08a057d3fc26fc92f"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 17:04:58 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 17:04:58 2013 +1300"
      },
      "message": "Fix documentation\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "b26aab656d7595ef074faed08a057d3fc26fc92f",
      "tree": "88a9b6d389b0b7261dc078002f8240c9d026cc39",
      "parents": [
        "bee6bbd00b533edf24e610aa7d7ac27c1debc0c6"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 17:00:04 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 17:00:04 2013 +1300"
      },
      "message": "Prepare reclass 1.2.1\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "bee6bbd00b533edf24e610aa7d7ac27c1debc0c6",
      "tree": "471a122d0ba92622eb09139f50251d056d55eefa",
      "parents": [
        "54bb4725b493e4d613d087d98a1c0fe896c18abe"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 16:58:56 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 16:58:56 2013 +1300"
      },
      "message": "Update Salt adapter docs wrt configuration file\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "54bb4725b493e4d613d087d98a1c0fe896c18abe",
      "tree": "198fc29f5ce7d9ef487e2c52eb8dcf91a5dcebce",
      "parents": [
        "c2bb0e580fb148fbfb9bd1b0158591b19756ea4b"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 14:47:19 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 14:47:19 2013 +1300"
      },
      "message": "add configfile lookup todo\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "c2bb0e580fb148fbfb9bd1b0158591b19756ea4b",
      "tree": "a099123583b7ff68ec0d96ce2eef173095a46c6c",
      "parents": [
        "671c203c747555608d0f7424706da8a13f6df34d"
      ],
      "author": {
        "name": "Daniel Dehennin",
        "email": "daniel.dehennin@baby-gnu.org",
        "time": "Thu Dec 26 14:16:26 2013 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Dec 26 14:16:26 2013 +1300"
      },
      "message": "Add class_mappings kwarg to Salt adapter functions\n\nCloses: https://github.com/madduck/reclass/issues/14\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "671c203c747555608d0f7424706da8a13f6df34d",
      "tree": "2a913376d84826f2b3c055f634baf1db4df1fd66",
      "parents": [
        "1700310f3ad02b7647a6f17a35e447dd40e09afd"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Dec 10 16:33:01 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Dec 10 16:33:01 2013 +0100"
      },
      "message": "Date format fix in changelog\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "1700310f3ad02b7647a6f17a35e447dd40e09afd",
      "tree": "7adc9d53ec6dd1ff1b957a4343b9a4eb4b145063",
      "parents": [
        "37b56b6988f5c3f9da0b50847192a65c1d30b7d6"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Dec 10 16:22:50 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Dec 10 16:28:26 2013 +0100"
      },
      "message": "Prepare release 1.2\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "37b56b6988f5c3f9da0b50847192a65c1d30b7d6",
      "tree": "67f66d82efd8a683bb6abdc99947636f3c9b0e68",
      "parents": [
        "010ea27121be45f563cc4c218f46fed6a875eba3"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Dec 10 16:04:52 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Dec 10 16:28:26 2013 +0100"
      },
      "message": "Match class mappings against entity name incl. subdir\n\nIf a node is defined in a subdirectory, then match class mappings\nagainst the entire (relative) path of the node, including its\nsubdirectory.\n\nFor instance, you might have your nodes arranged in subdirectories\naccording to the datacentre that they are in:\n\n  - zurich/host1.example.ch\n  - zurich/host2.example.ch\n  - munich/host1.example.de\n  - munich/host2.example.de\n\nA class mapping such as\n\n  /^([^\\/]+)\\// hosted-in-\\\\1\n\nwould now automatically assign the hosted-in-zurich and hosted-in-munich\nclasses to the hosts, according to which subdirectory their (yaml_fs)\nfiles reside in.\n\nThe information is transported in the so-called entity name, so other\nstorage backends can also introduce such \"tags\", they need not be\nrelated to a filesystem path.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "010ea27121be45f563cc4c218f46fed6a875eba3",
      "tree": "06d22e2ee23c0e59d1781d36d3d138b7cfe520f0",
      "parents": [
        "05cbf6bca042d6e418fc1309b7a48f8046e3ec07"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Nov 27 14:08:28 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Dec 10 16:28:26 2013 +0100"
      },
      "message": "Document class mappings in changelog\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "05cbf6bca042d6e418fc1309b7a48f8046e3ec07",
      "tree": "eeb6a175229a832e3f1f41173a2d4e21d19bd720",
      "parents": [
        "41521eb5c5990d407ed5ef9f484338570a0a3b27"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Nov 28 13:36:29 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Dec 02 14:28:22 2013 +0100"
      },
      "message": "Add note about escaping slashes in regexp\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "41521eb5c5990d407ed5ef9f484338570a0a3b27",
      "tree": "fa63a983dd260ecadab09ff6cfc0345ff3c10966",
      "parents": [
        "2e233ed16b88f911d74b657aa19834d6cd44b174"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Nov 27 14:06:37 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Dec 02 14:28:22 2013 +0100"
      },
      "message": "Enable interpolation/backreferences in regexp-class-mappings\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "2e233ed16b88f911d74b657aa19834d6cd44b174",
      "tree": "688cf73df550357192f9927aabc74290946ae49b",
      "parents": [
        "3b10e80718d8f0d821ce4e2506447a3f1f7110d2"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Nov 27 13:50:56 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Dec 02 14:28:22 2013 +0100"
      },
      "message": "Change to using a list of mappings to maintain order\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "3b10e80718d8f0d821ce4e2506447a3f1f7110d2",
      "tree": "97f60bacb549bb27ac2087233f48ba59ae40211d",
      "parents": [
        "fb02b47feaa6fd7a04bf9f99c7cd832d8bcbff76"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Nov 26 23:30:10 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Dec 02 14:28:22 2013 +0100"
      },
      "message": "Document the class mappings features\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "fb02b47feaa6fd7a04bf9f99c7cd832d8bcbff76",
      "tree": "c83062ad5f4db2d03524c8c57a31427f462946f1",
      "parents": [
        "a775b205fc34ed1883195ba404d573023abf73ec"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Nov 26 15:19:46 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Dec 02 14:28:22 2013 +0100"
      },
      "message": "Basic framework for class mappings\n\nEach node\u0027s classes are now pre-initialised depending on the\nclasses_mapping key in the config file, e.g.:\n\n  class_mappings:\n    \u0027*\u0027: default\n    /^local/:\n      - local\n\nThis will cause all nodes to get the \u0027default\u0027 class before anything\nelse, and it will cause all nodes whose name start with \"local\" to get\nassigned the \u0027local\u0027 class.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "a775b205fc34ed1883195ba404d573023abf73ec",
      "tree": "f6c0fb2d0cf8f8c771b9a4237725eea29af300fe",
      "parents": [
        "0378a2305a86e3101e25e24b154797f79c1bb876"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Dec 02 14:24:07 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Dec 02 14:28:15 2013 +0100"
      },
      "message": "Store URI as part of the Entity object\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n\nConflicts:\n\treclass/storage/__init__.py\n"
    },
    {
      "commit": "0378a2305a86e3101e25e24b154797f79c1bb876",
      "tree": "2e2b99767ab037b096d2f570956a5f2cb9a471c3",
      "parents": [
        "b49f3e32a2abf7f7d537cbefa8ee0a057ece58b0"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Dec 02 10:48:59 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Dec 02 14:28:06 2013 +0100"
      },
      "message": "Fix parameter interpolation across merged lists\n\nThis was easier than thought. The problem:\n\n   If two lists are merged (extended), and those lists use RefValues,\n   then expansion (interpolation) won\u0027t work. The reason is that the\n   DictPath includes the list indices, e.g. apt_repos:0:uri and those\n   indices start at 0 for every list. Now, when two lists are merged,\n   the reference to the base RefValue (in Parameters._occurrences) is\n   overwritten by the RefValue of the mergee, causing it to not get\n   expanded later.\n\nInstead of just updating self._occurrences, we can populate it as we\nupdate scalars, and on extending lists, we can add an offset to the\nindex in the path of the mergee.\n\nStill: DictPath should go. One day…\n\nCloses: #13\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "b49f3e32a2abf7f7d537cbefa8ee0a057ece58b0",
      "tree": "1bdba8e027e0b76614990ef4baa42ab71b2c5f13",
      "parents": [
        "50a879301ea3d27437235e0d25607eb8b1796b56"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Dec 02 10:46:55 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Dec 02 10:51:44 2013 +0100"
      },
      "message": "Do not use instance of dict() as default for seen\n\nClassic mistake:\n\n  def foo(arg\u003d{}):\n    …\n\nthis will instantiate a dict and use *the same instance* on subsequent\ninvocations, i.e. as if you used foo.arg inside the function.\n\nInstead, instantiate the dict() in the function body!\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "50a879301ea3d27437235e0d25607eb8b1796b56",
      "tree": "3eb06fae5c2f317429b1e7fcccafd616370d795e",
      "parents": [
        "1f11eded13d00f1df58afb0c692d056ba861bfdd"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Dec 02 10:46:06 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Dec 02 10:51:43 2013 +0100"
      },
      "message": "Include tracebacks in errors messages\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "1f11eded13d00f1df58afb0c692d056ba861bfdd",
      "tree": "c64ab66fb41192d30b86ac425e4c02244d436add",
      "parents": [
        "8ae0137b030cb62cc1c95f97bfb8fafab64ed12a"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 16:48:00 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 21:13:40 2013 +0100"
      },
      "message": "Revamp storage classes, add node subdirs and caching\n\nThis is a mammoth commit, sorry about that. In trying to add node subdir\nsupport, I ended up refactoring a lot of the logic from yaml_fs into the\nstorage base class, and then caching was added along the way, I almost\ndidn\u0027t notice. ;)\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "8ae0137b030cb62cc1c95f97bfb8fafab64ed12a",
      "tree": "f2697542a6191dceee9dd99fc9dd3b729785a53a",
      "parents": [
        "a2a432861b0aa78dedb4cf364a324ce2382bbdc0"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 13:25:45 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 20:30:53 2013 +0100"
      },
      "message": "Add printf debugging to storage base\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "a2a432861b0aa78dedb4cf364a324ce2382bbdc0",
      "tree": "c1a5631e0aec803f4904a1bbcb8396fc8b1c119a",
      "parents": [
        "f432053d7ce4513fa41af4a24acc20c8dd6c2602"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 12:42:58 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 20:30:53 2013 +0100"
      },
      "message": "Provide Entity.as_dict()\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "f432053d7ce4513fa41af4a24acc20c8dd6c2602",
      "tree": "a42762feb8f4d0318ae24fcd4de76d03110c6fa2",
      "parents": [
        "88b379d4ec88eee5480bc26027587fa4e71b613d"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 17:00:37 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 20:30:53 2013 +0100"
      },
      "message": "Update of operations document\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "88b379d4ec88eee5480bc26027587fa4e71b613d",
      "tree": "c55d95c25a12b848dd7c63dd08ee85d1b07274e1",
      "parents": [
        "1cbef58448ee85bf3dbb1f1501969b2955d3c169"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 13:24:44 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 20:30:53 2013 +0100"
      },
      "message": "Set entity name to full URI\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "1cbef58448ee85bf3dbb1f1501969b2955d3c169",
      "tree": "99fd0794fd3daacc188b0744abe379a2c9d14a78",
      "parents": [
        "0d9ff077d76052177ccb64c54182999998c38136"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 13:24:27 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 20:30:53 2013 +0100"
      },
      "message": "Raise an error if os.walk encounters a problem\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "0d9ff077d76052177ccb64c54182999998c38136",
      "tree": "bee90b24098703a55aa36ef7f544f58da2000f67",
      "parents": [
        "16c938075a98ca6943e916c81724e5b08eea3f43"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 13:24:00 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 20:30:53 2013 +0100"
      },
      "message": "Skip all directories with leading dots\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "16c938075a98ca6943e916c81724e5b08eea3f43",
      "tree": "8a9d6e5bcf44dacc4b8ef070cce6b22547630b5f",
      "parents": [
        "75304a9c92f672d0ea8d852498686dba45b44b28"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 13:23:16 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 20:30:53 2013 +0100"
      },
      "message": "Disallow overlapping of nodes and classes URIs\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "75304a9c92f672d0ea8d852498686dba45b44b28",
      "tree": "821020191c9f21398509535566d418f8a62e6cf5",
      "parents": [
        "49c7d3f6809ea259f0b1e45dd742fdb048d69c0c"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Nov 28 22:13:55 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 12:26:18 2013 +0100"
      },
      "message": "Fix typo in NodeNotFound exception\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "49c7d3f6809ea259f0b1e45dd742fdb048d69c0c",
      "tree": "419821fcd81c13b407e26b10dadf41fe9f80db09",
      "parents": [
        "2fcce33a92bfd9c2044dead93ae2e2e42bba4725"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Nov 28 22:13:31 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 12:26:18 2013 +0100"
      },
      "message": "Compose invalid class name character error message in exception\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "2fcce33a92bfd9c2044dead93ae2e2e42bba4725",
      "tree": "3aa8c6aca7599a8449e8700ee2e0f0a578436ed7",
      "parents": [
        "b0751e9e405a717083d1f922cd255e32c1874545"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 12:25:16 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 12:26:11 2013 +0100"
      },
      "message": "Handle entity equality comparison against non-matching types\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "b0751e9e405a717083d1f922cd255e32c1874545",
      "tree": "e30b8e19b37fd6c3b83bbbf6c0fd7b39e74ddaa3",
      "parents": [
        "802174d06524cf328473049be2be397bb7ec37e2"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 12:21:42 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Nov 30 12:26:08 2013 +0100"
      },
      "message": "Handle entity equality comparison against non-matching types\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "802174d06524cf328473049be2be397bb7ec37e2",
      "tree": "138b26debb3b5549db5c03f4ea740814ff4f11de",
      "parents": [
        "f2bfd95104ed4cbae023de434e5d40ad75daef0f"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Nov 28 20:51:10 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Nov 28 20:51:23 2013 +0100"
      },
      "message": "Add vvv printf-debugging function to yaml_fs\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "f2bfd95104ed4cbae023de434e5d40ad75daef0f",
      "tree": "2227a3963a24fb8539b5b572dedddbde0d8b5b8c",
      "parents": [
        "cfc365bc22fd6e01f3a929a40c562208ba6fa311"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Nov 28 13:31:55 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Nov 28 13:33:36 2013 +0100"
      },
      "message": "Add TODO about classes caching in yaml_fs\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "cfc365bc22fd6e01f3a929a40c562208ba6fa311",
      "tree": "8f1a760ce55629469facee524a923d1f6d85705b",
      "parents": [
        "e34ba8736b8622eff06f667ff32c7708be5b7478"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Nov 27 10:21:02 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Nov 27 10:21:13 2013 +0100"
      },
      "message": "Limit class names to not contain spaces\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "e34ba8736b8622eff06f667ff32c7708be5b7478",
      "tree": "72f9fc2a136eb5720964a8b1173540632496230e",
      "parents": [
        "5e97652b610bfa9c5170e55505c92b0518837696"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Nov 26 23:10:18 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Nov 26 23:13:57 2013 +0100"
      },
      "message": "Prepend file:// to node_uri in yaml_fs\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "5e97652b610bfa9c5170e55505c92b0518837696",
      "tree": "2e3f71672aaff5f7fc805d0ac60cc1d583b918d3",
      "parents": [
        "35b9d0c947e2c9dbfd923d80b5ca413bbf46bd17"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Nov 26 23:10:01 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Nov 26 23:13:50 2013 +0100"
      },
      "message": "Improve error handling in yaml_fs\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "35b9d0c947e2c9dbfd923d80b5ca413bbf46bd17",
      "tree": "c47c4c7c0827e922e5cab1640d740d3c35f64fcd",
      "parents": [
        "b8573f8c896c1d37337865f230171a97135523fb"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Nov 26 22:58:25 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Nov 26 22:58:25 2013 +0100"
      },
      "message": "Debug output for config file search\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "b8573f8c896c1d37337865f230171a97135523fb",
      "tree": "c78eedab5dac68393e2b1a912e996cf07295b308",
      "parents": [
        "bc9b8d3bbdeb15891f8b8761de370b34b182e530"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Nov 26 14:28:21 2013 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Nov 26 14:28:21 2013 +0100"
      },
      "message": "Consistently rename _read_nodeinfo to _read_entity\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "bc9b8d3bbdeb15891f8b8761de370b34b182e530",
      "tree": "ac7293f3dc179087997e61c10eaf2f4959d1c54f",
      "parents": [
        "65ba2571dc6ef68f747276e743ea5eb60870d7cc"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Oct 18 06:44:26 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Oct 18 06:44:26 2013 +0200"
      },
      "message": "Salt 0.17 is out, change warning\n"
    },
    {
      "commit": "65ba2571dc6ef68f747276e743ea5eb60870d7cc",
      "tree": "91a542bd3ffd17666a25d20037603c63c92e4046",
      "parents": [
        "b8c26c2d484e768d6eb549ed944e96ee6a436fc6"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Aug 29 18:34:53 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Aug 29 18:35:36 2013 +0200"
      },
      "message": "Warn about reclass+top.sls\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "b8c26c2d484e768d6eb549ed944e96ee6a436fc6",
      "tree": "ab38f09ddcc7c8ad5eaaf1c4babb6394c079dfb4",
      "parents": [
        "593441742c82b5404ec0cae8736d5e6e0ac535f2"
      ],
      "author": {
        "name": "Niels Abspoel",
        "email": "aboe76@gmail.com",
        "time": "Wed Aug 28 19:15:06 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 23:47:44 2013 +0200"
      },
      "message": "Archlinux package and information\n"
    },
    {
      "commit": "593441742c82b5404ec0cae8736d5e6e0ac535f2",
      "tree": "5ffc8b36fc9371c3437ad728ba0034515df517b5",
      "parents": [
        "057ab6526baa2a4fa041e0d5bcd7a83ff9dd410f"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 13:07:15 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 13:07:15 2013 +0200"
      },
      "message": ".gitignore cleanup\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "057ab6526baa2a4fa041e0d5bcd7a83ff9dd410f",
      "tree": "f5cdc383aa0cd003d5f82bf87586897007f2fc64",
      "parents": [
        "5a8d02fd6fba17c8ec6158bff9b2c8ac524d3320"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 12:07:24 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 12:07:24 2013 +0200"
      },
      "message": "Merge sections in docs frontpage\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "5a8d02fd6fba17c8ec6158bff9b2c8ac524d3320",
      "tree": "f8c200f9a8642f498d7de89aecd65c37ac5807e5",
      "parents": [
        "4ff1282f9ec8dd6b4eaf7fb80307d30b69785bb9"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 12:04:22 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 12:06:18 2013 +0200"
      },
      "message": "Documentation updates\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "4ff1282f9ec8dd6b4eaf7fb80307d30b69785bb9",
      "tree": "10fd7e94f1bf163b0a28c40d5214eb7a1de2a1f5",
      "parents": [
        "9ed17cc177461f5c58c98a6fb233b97a3923fd36"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 11:51:17 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 11:51:17 2013 +0200"
      },
      "message": "Idea about membership info for TODO\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "9ed17cc177461f5c58c98a6fb233b97a3923fd36",
      "tree": "bbbaa86a3460d2cb37e2f37cf3c8366b33e0022f",
      "parents": [
        "6a00fd83db3ca981b4a0330f6627fc1de03b17b0"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 10:31:50 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 11:03:06 2013 +0200"
      },
      "message": "Prepare 1.1 release\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "6a00fd83db3ca981b4a0330f6627fc1de03b17b0",
      "tree": "06c934127400cc177504038afc4bad8573b4183d",
      "parents": [
        "b640cfa489f29a58bed789ceec71afe3b5c4458e"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 10:27:36 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 10:37:53 2013 +0200"
      },
      "message": "Limit top() output to minion if ID specified\n\nSalt expects the top data to be limited to those states applicable to\nthe very minion being processed. Therefore, the interface needs to be\nextended to accept minion_id, and if that is specified, then only the\nminion-specific states are returned; else, the entire top data are\nreturned, as before (which the CLI still does).\n\nThanks to David Anderson for figuring this out!\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "b640cfa489f29a58bed789ceec71afe3b5c4458e",
      "tree": "9fbba00ad8ff7a584d53b0f40e70bd2daada7bee",
      "parents": [
        "60b769ab743209c6c31db70f0dc7117c6adab8f2"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 10:01:13 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 10:37:53 2013 +0200"
      },
      "message": "Add TODO about node environments\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "60b769ab743209c6c31db70f0dc7117c6adab8f2",
      "tree": "c6906c0b184498c03102e37783d3f2855fd288c7",
      "parents": [
        "03266f6cdace27e0a2846f430e916e8ae5c82a87"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 10:37:17 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 28 10:37:52 2013 +0200"
      },
      "message": "Assume github remote is called origin\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "03266f6cdace27e0a2846f430e916e8ae5c82a87",
      "tree": "dacde6d8b4b8384944d73ffdfc63f42c58f4f013",
      "parents": [
        "afe1c50d39878f906d4d3d82b90c07fd21c55e0f"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 22:03:30 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 22:03:30 2013 +0200"
      },
      "message": "Augment info about Debian package\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "afe1c50d39878f906d4d3d82b90c07fd21c55e0f",
      "tree": "4443027a95239b52f6736b5d6062b7da06e37d3d",
      "parents": [
        "82c4b6f4459770e4980399c04b58f212c4d9d93d"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 20:46:09 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 20:46:09 2013 +0200"
      },
      "message": "Version number update\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "82c4b6f4459770e4980399c04b58f212c4d9d93d",
      "tree": "f30f43a6f557c1f41358a24040be621e63d71752",
      "parents": [
        "282ffb847256d512b3033714c550bee0512ceb30"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 19:05:11 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 19:08:48 2013 +0200"
      },
      "message": "add reference to dc13 talk to docs\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "282ffb847256d512b3033714c550bee0512ceb30",
      "tree": "1cfa093fa92ea92d0499f3041ea6874f2db50081",
      "parents": [
        "0b157d6d2619865b3412e1c9aaa6300ac8ee7121"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 19:08:08 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 19:08:23 2013 +0200"
      },
      "message": "Disable static path in sphinx config\n"
    },
    {
      "commit": "0b157d6d2619865b3412e1c9aaa6300ac8ee7121",
      "tree": "d4e9f455c2ddad1e00a767c2d379e47767f6426e",
      "parents": [
        "c0e9903a1ca576a038f5fa43e72ff1d7177bd060"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 18:52:47 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 18:52:47 2013 +0200"
      },
      "message": "add mailing list to docs\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "c0e9903a1ca576a038f5fa43e72ff1d7177bd060",
      "tree": "35e50e96f4e02d00df3ee4b6fbb967a8de62d3ab",
      "parents": [
        "069f53cdb7800c24b82a67e7e314c2d7ed67bfee"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 18:21:57 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 18:21:57 2013 +0200"
      },
      "message": "Link to Debian archive for tarball downloads\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "069f53cdb7800c24b82a67e7e314c2d7ed67bfee",
      "tree": "2445d0a628163680ef86cb758e30dba754312341",
      "parents": [
        "66b509fe9190ca4457a72e322fe15d6d828f93c5"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 17:50:03 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 17:50:03 2013 +0200"
      },
      "message": "Add a changelog to documenation\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "66b509fe9190ca4457a72e322fe15d6d828f93c5",
      "tree": "cf550fe1ba77dc80d0b468826a4cf811305fec70",
      "parents": [
        "5c36d294529bb5d8f93c34410a01296cfd44cd2d"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 17:41:05 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 17:41:05 2013 +0200"
      },
      "message": "factor out entrypoints list\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "5c36d294529bb5d8f93c34410a01296cfd44cd2d",
      "tree": "78e57d7f3c358b90e27a8c3dd4bc76d71ca16e24",
      "parents": [
        "3fe5f94411b772ff002707e4293969d61f920a98"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 16:33:10 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 17:15:08 2013 +0200"
      },
      "message": "Makefile update for new gh-pages hack\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "3fe5f94411b772ff002707e4293969d61f920a98",
      "tree": "fc14be4a05663cb85c4b64c867c404426eaadbd8",
      "parents": [
        "b00609559dcf69a5dd7071d9cfbde3ba8f2f1e94"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 15:58:51 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 15:58:51 2013 +0200"
      },
      "message": "include substs in new todo file\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "b00609559dcf69a5dd7071d9cfbde3ba8f2f1e94",
      "tree": "4df7893f6813b0c66cf0d4cf8888ed59cf2cc0df",
      "parents": [
        "72dc9cdb0c000c2428a5890b9b8a5f9019e81aeb"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 15:52:29 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 15:52:29 2013 +0200"
      },
      "message": "url update\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "72dc9cdb0c000c2428a5890b9b8a5f9019e81aeb",
      "tree": "f02af5328665f3dcc3e123315c34655b9a822fb4",
      "parents": [
        "9d19e19dc6af4b8de2705a212838e954e8fca121"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 15:51:25 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 15:51:28 2013 +0200"
      },
      "message": "add reference to github to main page\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "9d19e19dc6af4b8de2705a212838e954e8fca121",
      "tree": "ff78b657178bde78eb4bfe39a587939e7d194910",
      "parents": [
        "cbaf4c82292f093fb6e1b8ebbe785375ddf33563"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 15:43:57 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 15:43:57 2013 +0200"
      },
      "message": "update project homepage link\n"
    },
    {
      "commit": "cbaf4c82292f093fb6e1b8ebbe785375ddf33563",
      "tree": "67f3a89c6f97c2785f414aead399c5530273ca2e",
      "parents": [
        "cc8851d1e6f0410773b2372bec26afb1267b0719"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 13:47:59 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 13:47:59 2013 +0200"
      },
      "message": "add todo about common set of classes\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "cc8851d1e6f0410773b2372bec26afb1267b0719",
      "tree": "7cc3f6a4c391bca68c4bc62ca11c326320b46cca",
      "parents": [
        "c2ff09b444de2af17c101125d8efea96b5bfadab"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 13:43:16 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 13:43:16 2013 +0200"
      },
      "message": "Migrate TODOs into documentation\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "c2ff09b444de2af17c101125d8efea96b5bfadab",
      "tree": "1fff16289c914a4d178274bd0fb81654ff532ca9",
      "parents": [
        "a06cffcbe37eaee39afc1962b595bebbcacb39e5"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 12:46:20 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 12:46:20 2013 +0200"
      },
      "message": "Warn about lack of reclass in Salt pre-0.17\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "a06cffcbe37eaee39afc1962b595bebbcacb39e5",
      "tree": "d08a21bf256279da531688489e600d84e531ccbd",
      "parents": [
        "9c6a0f2aff8194cbe122169bfb5d6981cc65335f"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 12:46:11 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 27 12:46:11 2013 +0200"
      },
      "message": "Turn Ansible community notice into a warning\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "9c6a0f2aff8194cbe122169bfb5d6981cc65335f",
      "tree": "f6866f741ff6d821d7df16a3ad6e56d6ef1960ec",
      "parents": [
        "60a28a323c59a9a0c80eb6996bfede19482412ff"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Aug 26 22:23:21 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Aug 26 22:23:21 2013 +0200"
      },
      "message": "add docsclean target\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "60a28a323c59a9a0c80eb6996bfede19482412ff",
      "tree": "b0633875c96f24aa5a67498df8ddb50f5f5b69b6",
      "parents": [
        "3276910c9e64d25cd62edcd66994086ed31eac42"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Aug 26 21:58:19 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Aug 26 21:58:19 2013 +0200"
      },
      "message": "Disable jekyll processing on github pages\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "3276910c9e64d25cd62edcd66994086ed31eac42",
      "tree": "ef87826bf88304cb91370196375fa4e32d7de2dc",
      "parents": [
        "8acd49d6ec449fe890126553b04565de23907a46"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Aug 26 21:35:28 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Aug 26 21:51:10 2013 +0200"
      },
      "message": "add docs* targets to Makefile\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "8acd49d6ec449fe890126553b04565de23907a46",
      "tree": "7166c76613a17c73bdd211bff12657f3e72ad713",
      "parents": [
        "5ab2bf8610a6b506764f5c0bbd06c9347369bd7c"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Aug 26 21:22:25 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Aug 26 21:22:25 2013 +0200"
      },
      "message": "Migrate README docs to sphinxdoc\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "5ab2bf8610a6b506764f5c0bbd06c9347369bd7c",
      "tree": "d139bf84d97589daf6e97beb600f2e49c878e1a2",
      "parents": [
        "cbd9aed14c367f6f4fcde0f4cbe6d2b629f500a2"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Aug 26 12:53:27 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Aug 26 12:53:34 2013 +0200"
      },
      "message": "Add Artistic Licence 2.0 text\n"
    },
    {
      "commit": "cbd9aed14c367f6f4fcde0f4cbe6d2b629f500a2",
      "tree": "b351a2daa18f2823829289b46e9a2ade047874a4",
      "parents": [
        "72f53ff2e63e71475db6e1c5a4689de722391137"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 20 11:31:27 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 20 11:31:31 2013 +0200"
      },
      "message": "Rename salt-reclass to reclass-salt in docs\n\nCloses #7, thanks Kent Tenney.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "72f53ff2e63e71475db6e1c5a4689de722391137",
      "tree": "08986fa8e2731c6a12e71a46d41dc727bf0422d9",
      "parents": [
        "ad8067e026ca24d3e1731f35c72194cf195d422e"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Aug 18 15:35:07 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Aug 18 15:35:11 2013 +0200"
      },
      "message": "Cast refs to string when assembling a string\n\nRefValue preserves the type of the referenced value only if it\u0027s not\nembedded in a string. If the referenced value is embedded in a string,\nit must be cast to a string before appending.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "ad8067e026ca24d3e1731f35c72194cf195d422e",
      "tree": "4d502380644a1eb10b1f3181ca20ed542d4285ad",
      "parents": [
        "00b9331f3caf6f89989d95c4ea1f6cb02c74cb38"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 13 16:41:50 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 13 16:41:50 2013 +0200"
      },
      "message": "add TODO about merging with existing data/node data\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "00b9331f3caf6f89989d95c4ea1f6cb02c74cb38",
      "tree": "94dc061144f9d5b88f9e262471d4439fb19bbcec",
      "parents": [
        "1b6881793cae99e554179f33d886f1db4dd81525"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 13 11:41:58 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Aug 13 11:41:58 2013 +0200"
      },
      "message": "regexp-class mapping TODO\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "1b6881793cae99e554179f33d886f1db4dd81525",
      "tree": "e908d7f54b95be8c3ed4b6494b09b924ccaff10b",
      "parents": [
        "66e75589ec7181c727813f3e73ae2cd465c54d48"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Aug 08 13:57:25 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Aug 08 13:57:25 2013 +0200"
      },
      "message": "Code clarification and commenting for interpolation\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "66e75589ec7181c727813f3e73ae2cd465c54d48",
      "tree": "f362607254bca8ba0041ad821b9d5fa8f2705860",
      "parents": [
        "390954ed4baa2641b3949d7d68e5cc48df61af10"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Aug 08 13:15:01 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Aug 08 13:15:01 2013 +0200"
      },
      "message": "Improved cyclical reference detection\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "390954ed4baa2641b3949d7d68e5cc48df61af10",
      "tree": "df00932349941e12cb8ac05ac529bc4e8bc897a4",
      "parents": [
        "96a6affce929b5fdf0660c781c88c87a64d3d7d1"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 07 17:20:14 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 07 17:20:14 2013 +0200"
      },
      "message": "TODO update about interpolation\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "96a6affce929b5fdf0660c781c88c87a64d3d7d1",
      "tree": "727e0b5fb0db67524cbe842b51a398f5e9d4e0f6",
      "parents": [
        "c4f3b8324677432a0ff53f3f23444f85b06c8519"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 07 16:32:56 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 07 16:36:33 2013 +0200"
      },
      "message": "TODO and README.Hacking maintenance about testing\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "c4f3b8324677432a0ff53f3f23444f85b06c8519",
      "tree": "9091d011861368723c62437ba6d4c33e07f93269",
      "parents": [
        "fa27b9a39217d492872f1cc15486e2870b237b78"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 07 16:31:51 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 07 16:36:33 2013 +0200"
      },
      "message": "REAMDE maintenance\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "fa27b9a39217d492872f1cc15486e2870b237b78",
      "tree": "c68408df89e19d9983d6f4dcacde71f393966f95",
      "parents": [
        "adb10f1600f2a1be705a5e435dbfdb49dabdcd2f"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 07 16:07:14 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 07 16:36:33 2013 +0200"
      },
      "message": "Interpolate Parameters after merging from storage\n\nFollowing the merging of parameters, the storage base class now invokes\ninterpolate() on the Parameters instance (via the Entity) instance.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "adb10f1600f2a1be705a5e435dbfdb49dabdcd2f",
      "tree": "d50bebf3bb723f7e2ec987f37e03bf90815d654b",
      "parents": [
        "3d472e345530429bd8af6170a6ff2db1e0e6c642"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 07 16:01:53 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 07 16:36:33 2013 +0200"
      },
      "message": "Implement Parameter interpolation\n\nParameters can now reference each other, and resolution happens in\ntopological order. This is done in two steps: while merging already\nwalks the entire dictionary, a list of references and their occurrences\nis kept. After merging is complete, interpolate() is called on the\ninstance, which recursively resolves the references found during\nmerging. If a referenced value itself contains other references, those\nare resolved first (which is the topological ordering).\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "3d472e345530429bd8af6170a6ff2db1e0e6c642",
      "tree": "0d4ff2ca7f3b5bf901458a0b439936421030fdbc",
      "parents": [
        "ad1f89fd592063ff016def8a8905883cafd024bb"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 07 15:58:15 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 07 16:33:24 2013 +0200"
      },
      "message": "Provide utils.RefValue\n\nRefValue encapsulates string parameter values and can be used to isolate\nand resolve references to other parameter values.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "ad1f89fd592063ff016def8a8905883cafd024bb",
      "tree": "367a71ead35a9fbaf828e4b32cea89840993a5b1",
      "parents": [
        "e09d37be3aa939f4bd9bf7d2497e926cda54bd12"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 07 15:50:09 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Aug 07 15:50:15 2013 +0200"
      },
      "message": "Provide utils.DictPath\n\nDictPath is a class used to represent \"paths\" to values in nested\ndictionaries. This works around Python\u0027s limitation of not being able to\nassign to the variable pointed to by a reference. It\u0027s used to translate\nvariable strings like ${foo:bar} into locations in the parameters\ndictionary.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "e09d37be3aa939f4bd9bf7d2497e926cda54bd12",
      "tree": "dfda675730937a43bcc162c937dda1511f7dd756",
      "parents": [
        "97c4cd980841b119bc971b1c8716687888203c72"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jul 07 13:05:19 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Jul 20 20:53:47 2013 +0200"
      },
      "message": "Interpolation specifics defined in defaults\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "97c4cd980841b119bc971b1c8716687888203c72",
      "tree": "f8bc37c3642842811cf7a8c0ef1c0d52e6b5aa68",
      "parents": [
        "c4625120f9e9eaee4b6d94679484ed0ef06d6d8e"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jul 19 07:43:27 2013 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jul 19 07:43:27 2013 +0200"
      },
      "message": "Ensure Salt inventory dir default is absolute path\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    }
  ],
  "next": "c4625120f9e9eaee4b6d94679484ed0ef06d6d8e"
}
