)]}'
{
  "log": [
    {
      "commit": "31a7e03cab715a718f63dc2e38e29266f58f1761",
      "tree": "8e77b82e660f10f9a6e159b13698d351ec753c0e",
      "parents": [
        "f36c44936f9a4f353031c6254277b980712167a0",
        "d1fb0b4e51d98fd9f5f172878c6d89ec5e531499"
      ],
      "author": {
        "name": "Cedric HNYDA",
        "email": "cedric@hnyda.net",
        "time": "Tue Sep 12 10:12:54 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 12 10:12:54 2017 +0200"
      },
      "message": "Merge pull request #6 from salt-formulas/ignore_class_regexp\n\nignore missing class by regexp"
    },
    {
      "commit": "d1fb0b4e51d98fd9f5f172878c6d89ec5e531499",
      "tree": "8e77b82e660f10f9a6e159b13698d351ec753c0e",
      "parents": [
        "f36c44936f9a4f353031c6254277b980712167a0"
      ],
      "author": {
        "name": "Petr Michalec",
        "email": "epcim@apealive.net",
        "time": "Mon Sep 11 13:56:53 2017 +0200"
      },
      "committer": {
        "name": "Petr Michalec",
        "email": "epcim@apealive.net",
        "time": "Mon Sep 11 13:56:53 2017 +0200"
      },
      "message": "ignore missing class by regexp\n"
    },
    {
      "commit": "f36c44936f9a4f353031c6254277b980712167a0",
      "tree": "ca4e6e2d966c81e00a23247ea6632d02d92c4704",
      "parents": [
        "1c2b7486384af21f81d2fbce86d52cd497e9adc0",
        "58f5981daf6feae104484f3af89aacae054cecc6"
      ],
      "author": {
        "name": "Petr Michalec",
        "email": "epcim@apealive.net",
        "time": "Fri Aug 18 09:10:44 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 18 09:10:44 2017 +0200"
      },
      "message": "Merge pull request #5 from salt-formulas/pass-defaults\n\nPass defaults for ingore_class_notfound properly"
    },
    {
      "commit": "58f5981daf6feae104484f3af89aacae054cecc6",
      "tree": "ca4e6e2d966c81e00a23247ea6632d02d92c4704",
      "parents": [
        "a3af54a72788f466c3adb39a21e7f9b797639252"
      ],
      "author": {
        "name": "Petr Michalec",
        "email": "epcim@apealive.net",
        "time": "Fri Aug 18 09:06:03 2017 +0200"
      },
      "committer": {
        "name": "Petr Michalec",
        "email": "epcim@apealive.net",
        "time": "Fri Aug 18 09:06:03 2017 +0200"
      },
      "message": "Pass ingore_class_notfound defaults properly\n"
    },
    {
      "commit": "a3af54a72788f466c3adb39a21e7f9b797639252",
      "tree": "4ccd19723c3545b8c9a1798e037ff514b6573523",
      "parents": [
        "ff7e9c137d59ce21a7720616556d59afddc898fe"
      ],
      "author": {
        "name": "chnyda",
        "email": "chnyda@mirantis.com",
        "time": "Thu Aug 17 17:05:47 2017 +0200"
      },
      "committer": {
        "name": "chnyda",
        "email": "chnyda@mirantis.com",
        "time": "Thu Aug 17 17:05:47 2017 +0200"
      },
      "message": "Modify parser and spread ignore_class_not_found from cmd line\n"
    },
    {
      "commit": "1c2b7486384af21f81d2fbce86d52cd497e9adc0",
      "tree": "19c1cceaba430cfb611b954d455a92b64e124f2d",
      "parents": [
        "b5c4c9338edc2866103b217092cab11dd3f7d541",
        "ff7e9c137d59ce21a7720616556d59afddc898fe"
      ],
      "author": {
        "name": "Petr Michalec",
        "email": "epcim@apealive.net",
        "time": "Thu Aug 17 13:32:39 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 17 13:32:39 2017 +0200"
      },
      "message": "Merge pull request #4 from chnyda/master\n\nFix reclass parser to include OPT_IGNORE_CLASS_NOTFOUND"
    },
    {
      "commit": "ff7e9c137d59ce21a7720616556d59afddc898fe",
      "tree": "19c1cceaba430cfb611b954d455a92b64e124f2d",
      "parents": [
        "b5c4c9338edc2866103b217092cab11dd3f7d541"
      ],
      "author": {
        "name": "chnyda",
        "email": "chnyda@mirantis.com",
        "time": "Thu Aug 17 12:26:18 2017 +0200"
      },
      "committer": {
        "name": "chnyda",
        "email": "chnyda@mirantis.com",
        "time": "Thu Aug 17 13:08:29 2017 +0200"
      },
      "message": "Fix reclass parser to include OPT_IGNORE_CLASS_NOTFOUND\n"
    },
    {
      "commit": "b5c4c9338edc2866103b217092cab11dd3f7d541",
      "tree": "3c1545f2c9a2dd1b4544f2b41369505a28d63fc7",
      "parents": [
        "26895221d6d7235608f8d06ab4dd1f2d78f076b1",
        "66d946b0c57692d4c5561418b145185143f597c4"
      ],
      "author": {
        "name": "Petr Michalec",
        "email": "epcim@apealive.net",
        "time": "Wed Aug 16 16:04:54 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 16 16:04:54 2017 +0200"
      },
      "message": "Merge pull request #2 from bbinet/optionnal-classes\n\nOptionnal classes"
    },
    {
      "commit": "26895221d6d7235608f8d06ab4dd1f2d78f076b1",
      "tree": "c37ea32e13793af8ee013723807f5d8956f7891d",
      "parents": [
        "c08b844b328fa0fe182db49dd423cc203a016ce9",
        "03f631fbadf6c78b1a6cbf022fea96ac4e037c83"
      ],
      "author": {
        "name": "Petr Michalec",
        "email": "epcim@apealive.net",
        "time": "Wed Aug 16 16:04:40 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 16 16:04:40 2017 +0200"
      },
      "message": "Merge pull request #1 from epcim/pr/fix/fix_raise_UndefinedVariableError\n\nfix raise of UndefinedVariableError"
    },
    {
      "commit": "03f631fbadf6c78b1a6cbf022fea96ac4e037c83",
      "tree": "c37ea32e13793af8ee013723807f5d8956f7891d",
      "parents": [
        "c08b844b328fa0fe182db49dd423cc203a016ce9"
      ],
      "author": {
        "name": "Petr Michalec",
        "email": "epcim@apealive.net",
        "time": "Thu Apr 20 18:44:03 2017 +0200"
      },
      "committer": {
        "name": "Petr Michalec",
        "email": "epcim@apealive.net",
        "time": "Fri Apr 21 09:23:36 2017 +0200"
      },
      "message": "fix raise of UndefinedVariableError\n"
    },
    {
      "commit": "66d946b0c57692d4c5561418b145185143f597c4",
      "tree": "7038985e65eaf867245a0ad7108efc34a2dfedbb",
      "parents": [
        "52736c2dfeebad31d92d6da82b1cbb458785a13a"
      ],
      "author": {
        "name": "Bruno Binet",
        "email": "bruno.binet@gmail.com",
        "time": "Tue Apr 11 17:23:52 2017 +0200"
      },
      "committer": {
        "name": "Bruno Binet",
        "email": "bruno.binet@gmail.com",
        "time": "Tue Apr 11 17:23:52 2017 +0200"
      },
      "message": "Update salt adapter to allow ignore_class_notfound config\n"
    },
    {
      "commit": "52736c2dfeebad31d92d6da82b1cbb458785a13a",
      "tree": "a0d95c83827f50c32d198d331167386e0c9f7148",
      "parents": [
        "c08b844b328fa0fe182db49dd423cc203a016ce9"
      ],
      "author": {
        "name": "Bruno Binet",
        "email": "bruno.binet@gmail.com",
        "time": "Tue Apr 11 17:22:55 2017 +0200"
      },
      "committer": {
        "name": "Bruno Binet",
        "email": "bruno.binet@gmail.com",
        "time": "Tue Apr 11 17:22:55 2017 +0200"
      },
      "message": "Add support to ignore classes that are not found\n"
    },
    {
      "commit": "c08b844b328fa0fe182db49dd423cc203a016ce9",
      "tree": "d6794b947f2bd31fa38a1d6432c005ae7fb5c925",
      "parents": [
        "75dbf1e9411e848697d605b6a25cf2d5a0aaf7f4",
        "478eb301c3d13b877a533ee0d2a0192cfcceb12d"
      ],
      "author": {
        "name": "Jason Ritzke",
        "email": "Rtzq0@users.noreply.github.com",
        "time": "Mon Jan 30 10:44:25 2017 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 30 10:44:25 2017 -0800"
      },
      "message": "Merge pull request #65 from NeoXiD/bugfix/invalid-classname-error\n\nFixed NameError in InvalidClassnameError"
    },
    {
      "commit": "478eb301c3d13b877a533ee0d2a0192cfcceb12d",
      "tree": "d6794b947f2bd31fa38a1d6432c005ae7fb5c925",
      "parents": [
        "75dbf1e9411e848697d605b6a25cf2d5a0aaf7f4"
      ],
      "author": {
        "name": "Pascal Mathis",
        "email": "git@development.smx.li",
        "time": "Mon Jan 30 18:21:58 2017 +0100"
      },
      "committer": {
        "name": "Pascal Mathis",
        "email": "git@development.smx.li",
        "time": "Mon Jan 30 18:21:58 2017 +0100"
      },
      "message": "Fixed InvalidClassnameError\n\nInvalidClassnameError was throwing a NameError, as \u0027self.\u0027 was missing when trying to access the class name.\n"
    },
    {
      "commit": "75dbf1e9411e848697d605b6a25cf2d5a0aaf7f4",
      "tree": "d1dfcb787766e2355cbf88e6294e3b356b6a4153",
      "parents": [
        "c78ab35922193c69561dcff94a89ff1a6eda1001",
        "b38853318e5b1a3ceb9c221dd4f253117d8ed73a"
      ],
      "author": {
        "name": "James Lott",
        "email": "james@lottspot.com",
        "time": "Tue Jan 03 10:39:46 2017 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 03 10:39:46 2017 -0500"
      },
      "message": "Merge pull request #61 from Rtzq0/issue_60\n\nAdd functionality for overriding dictionary merges."
    },
    {
      "commit": "b38853318e5b1a3ceb9c221dd4f253117d8ed73a",
      "tree": "bda86354a97f0fb8def29cdb21ece83f93175c49",
      "parents": [
        "99acc6ebd265dca60c327390f09148f530698526"
      ],
      "author": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Mon Jan 02 17:31:35 2017 -0800"
      },
      "committer": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Mon Jan 02 17:31:35 2017 -0800"
      },
      "message": "made initmerge explicit\n"
    },
    {
      "commit": "99acc6ebd265dca60c327390f09148f530698526",
      "tree": "62ab2b508b66b79d214da0066938169b9cd1adaa",
      "parents": [
        "2ac64526d9f098843b449afbfb2891a2398a7116"
      ],
      "author": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Mon Jan 02 02:00:29 2017 -0800"
      },
      "committer": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Mon Jan 02 10:30:36 2017 -0800"
      },
      "message": "Add functionality for overriding dictionary merges.\n\nDictionary merges can now be overridden at any level by usage\nof a special character. The tilde is chosen as base default.\n"
    },
    {
      "commit": "c78ab35922193c69561dcff94a89ff1a6eda1001",
      "tree": "7acd8de8b1631368befad0e7b51742d753ee612c",
      "parents": [
        "2ac64526d9f098843b449afbfb2891a2398a7116",
        "3525f15ac8d4a5076b3c2d62ddda05eea6f09256"
      ],
      "author": {
        "name": "James Lott",
        "email": "james@lottspot.com",
        "time": "Mon Jan 02 12:24:24 2017 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 02 12:24:24 2017 -0500"
      },
      "message": "Merge pull request #59 from madduck/issue_23\n\nset up reclass for packaging on pypi"
    },
    {
      "commit": "3525f15ac8d4a5076b3c2d62ddda05eea6f09256",
      "tree": "7acd8de8b1631368befad0e7b51742d753ee612c",
      "parents": [
        "2ac64526d9f098843b449afbfb2891a2398a7116"
      ],
      "author": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Sat Dec 31 17:32:50 2016 -0800"
      },
      "committer": {
        "name": "Jason R",
        "email": "jasonritzke@4loopz.com",
        "time": "Sat Dec 31 18:27:56 2016 -0800"
      },
      "message": "set up reclass for packaging on pypi\n"
    },
    {
      "commit": "2ac64526d9f098843b449afbfb2891a2398a7116",
      "tree": "44e57cdacdc9a7b8281bd4556d7c093a74118b5c",
      "parents": [
        "25cb8f5b40a63ce8c083abcd2bc74c7f0281f76c"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Dec 20 16:37:33 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Dec 20 16:37:33 2014 +0100"
      },
      "message": "Fix UndefinedVariableError, which had, uh, undefined variables\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "25cb8f5b40a63ce8c083abcd2bc74c7f0281f76c",
      "tree": "6f481a0a0001d49d22e1095da592fd0f3e4db080",
      "parents": [
        "6b7d050f6772e88dcc70586f581c8fa6a5c21bb3"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:52:25 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:52:25 2014 +0100"
      },
      "message": "Prepare 1.4.1 release\n"
    },
    {
      "commit": "6b7d050f6772e88dcc70586f581c8fa6a5c21bb3",
      "tree": "f9976e534bf26b2529db896c35b2c444fe1ec60c",
      "parents": [
        "96f358cdce038af4ce08100f15c967b604773769"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:51:28 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:51:28 2014 +0100"
      },
      "message": "Add missing entries to changelog\n"
    },
    {
      "commit": "96f358cdce038af4ce08100f15c967b604773769",
      "tree": "85ec5876cd887b681ed9aeb3fd1fb377534101f9",
      "parents": [
        "15cb21db4b46de70773585bf45f69f515c32885b"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:50:56 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:50:56 2014 +0100"
      },
      "message": "Revert \"Setup basic logging for reclass\"\n\nThis reverts commit d784be7d6f3edbd1b4bea919fcdfc4a83d7337a9.\n"
    },
    {
      "commit": "15cb21db4b46de70773585bf45f69f515c32885b",
      "tree": "6e68f99f831a6e7b371780635a64cec736989592",
      "parents": [
        "048e50f7d3712962667318187433082437f7484b"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:50:53 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:50:53 2014 +0100"
      },
      "message": "Revert \"replace null vvv() prints with logger.debug()\"\n\nThis reverts commit aa44410445855472335ce474aefe68c68b44b27c.\n"
    },
    {
      "commit": "048e50f7d3712962667318187433082437f7484b",
      "tree": "05443e1712e32b025ddcd134e02297bf0acbf833",
      "parents": [
        "426437d8af16aeeb18f2e1454129c9207e9a02f4"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:47:14 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Oct 28 15:47:14 2014 +0100"
      },
      "message": "Revert \"Update reclass cli entry points, use the logger from reclass.logger\"\n\nThis reverts commit 67bde40603a51daddffad3e62b5143d97e0c376a, which\nintroduces two problems:\n\n  First, the Salt adapter\u0027s logger import is wrong\n\n  Second, it instantiates the command-line parser with reclass defaults,\n  not with defaults of the adapters, so that the Salt adapter e.g.\n  doesn\u0027t take --top anymore.\n"
    },
    {
      "commit": "426437d8af16aeeb18f2e1454129c9207e9a02f4",
      "tree": "5eff58c67fe3fb4bcf4ba6c2b4b2ff47e4727d51",
      "parents": [
        "73221e03053cd459d868458f40d10242cdf4f977"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Oct 25 21:23:19 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Oct 25 21:23:19 2014 +0200"
      },
      "message": "Copyright year update\n"
    },
    {
      "commit": "73221e03053cd459d868458f40d10242cdf4f977",
      "tree": "eb925035c8a5ac1b770e91302508631b93386725",
      "parents": [
        "67bde40603a51daddffad3e62b5143d97e0c376a"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Oct 25 14:57:34 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Oct 25 15:04:17 2014 +0200"
      },
      "message": "Version update for 1.4\n"
    },
    {
      "commit": "67bde40603a51daddffad3e62b5143d97e0c376a",
      "tree": "4968ba901450bcbea0f3417a4bb97034b113488b",
      "parents": [
        "aa44410445855472335ce474aefe68c68b44b27c"
      ],
      "author": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Fri Oct 03 12:40:55 2014 -0400"
      },
      "committer": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Fri Oct 03 12:40:55 2014 -0400"
      },
      "message": "Update reclass cli entry points, use the logger from reclass.logger\n\nWhile the reclass.logger module initializes a logger with a basic\nconfig, it also enables/disables debug logging with the --debug option\nflag. Thus, we want to use the logger initialized by reclass.logger for\nthe CLI entry points.\n"
    },
    {
      "commit": "aa44410445855472335ce474aefe68c68b44b27c",
      "tree": "eab6d804f22b3cf8058beb77f413c8251a92ebe9",
      "parents": [
        "d784be7d6f3edbd1b4bea919fcdfc4a83d7337a9"
      ],
      "author": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Thu Sep 25 18:17:55 2014 +0000"
      },
      "committer": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Sat Sep 27 15:49:40 2014 +0000"
      },
      "message": "replace null vvv() prints with logger.debug()\n\nuse RECLASS_NAME from reclass.defaults to specify the logger\n"
    },
    {
      "commit": "d784be7d6f3edbd1b4bea919fcdfc4a83d7337a9",
      "tree": "d0bacd31c49c574f6c28e58b21b5ee9875f0e64f",
      "parents": [
        "f73990304be8dad24dbb13b0bbd7f2ea6ef11163"
      ],
      "author": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Thu Sep 25 18:05:25 2014 +0000"
      },
      "committer": {
        "name": "illumin-us-r3v0lution",
        "email": "illumin-us-r3v0lution@users.noreply.github.com",
        "time": "Sat Sep 27 15:48:46 2014 +0000"
      },
      "message": "Setup basic logging for reclass\n\n* Create a new module, reclass.logs with a basic configuration\n  provided to logging.config.dictConfig()\n* Log messages to stderr by default\n* Set default log (verbosity) level to ERROR\n* Provide a new flag, --debug, to enable debug messaging (set log\n  level to DEBUG)\n\nThis does not make use of the logging as much as provide the basic\nstructures to use.\n"
    },
    {
      "commit": "f73990304be8dad24dbb13b0bbd7f2ea6ef11163",
      "tree": "06dc64d11d922c920fc939e5023f6bf7d475420b",
      "parents": [
        "ff1342cbbb6f5c302abcf0f5cdfab0c38f6432b6"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jul 15 11:36:25 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jul 15 11:36:25 2014 +0200"
      },
      "message": "record last commit in changelog\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "ff1342cbbb6f5c302abcf0f5cdfab0c38f6432b6",
      "tree": "c21fe16d5ea1b945e027edeeccea26d98c757369",
      "parents": [
        "6e0040dffcc4746ec35649c25badbc074987f8d1"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jul 15 11:32:56 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jul 15 11:35:11 2014 +0200"
      },
      "message": "Prevent interpolate() from overwriting values updated during merge\n\nWhen during a merge, a RefValue instance (a scalar) gets overwritten by\na non RefValue scalar, then remove the record of the occurrence of the\noverwritten RefValue. Otherwise, interpolate() will later\nunconditionally overwrite the new value with the interpolated reference.\n\nArguably, interpolet() should check whether the value it\u0027s overwriting\nis a RefValue instance, but that\u0027s left for another day.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "6e0040dffcc4746ec35649c25badbc074987f8d1",
      "tree": "74441551e2a8e4b5be41b02243da8a59c88de1d2",
      "parents": [
        "3c46f0931c318f31b0dd41dc32dd2850e1fac285"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 04 12:24:18 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Jun 04 12:24:18 2014 +0200"
      },
      "message": "fix and clarify scalar merging text\n"
    },
    {
      "commit": "3c46f0931c318f31b0dd41dc32dd2850e1fac285",
      "tree": "a25a5aed488caac35d4e6cc82a710e620138888a",
      "parents": [
        "ff3ca02e6dfbe146fbfc83436a06efcac2ed8bb6"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Apr 14 15:52:02 2014 +0200"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Mon Apr 14 15:52:02 2014 +0200"
      },
      "message": "Update link to Artistic Licence 2.0\n\nApparently, the licence moved to the OSI, so update the link in the\ndocs. Closes #24.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "ff3ca02e6dfbe146fbfc83436a06efcac2ed8bb6",
      "tree": "87bbaa4cbc3ac0bd4e7527fc67cb67063b8e21d6",
      "parents": [
        "42e679ec147899610ee78545ef05b5f94824e9bd"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 13:59:11 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 13:59:29 2014 +0100"
      },
      "message": "Beef up the example inventory\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "42e679ec147899610ee78545ef05b5f94824e9bd",
      "tree": "0e10c47ae89818cc8929e9dbaca7d044ead1bf39",
      "parents": [
        "15e72de9f90a8df1efdcc01719a57cb4ae654d38"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 13:31:55 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 13:32:18 2014 +0100"
      },
      "message": "Also mangle relpath during inventory enumeration\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "15e72de9f90a8df1efdcc01719a57cb4ae654d38",
      "tree": "9f7b755763682f26d24fd1d7d72e3616892dd094",
      "parents": [
        "4a43919be3b8094fbe996aef0117642b89b7a609"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 13:30:58 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 13:31:00 2014 +0100"
      },
      "message": "Use \"init\" as directory index\n\nThe docs mentioned \u0027init\u0027 (which is consistent with Salt and Python), but\nsomehow I made that \u0027index\u0027 in the code.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "4a43919be3b8094fbe996aef0117642b89b7a609",
      "tree": "6cb8728a5fc39dec955a966aac847b7c4c96d9ea",
      "parents": [
        "38990a26bd725ae1f27f592d2a8864565bfa7432"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 12:53:41 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Mar 04 12:53:41 2014 +0100"
      },
      "message": "Fix error reporting on node name collision\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "38990a26bd725ae1f27f592d2a8864565bfa7432",
      "tree": "5e91ca93bc27e0232f5b43c955ddf7c9614ea614",
      "parents": [
        "26aa8242a4402b883218c53f6ba22b5ab2309f37"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 15:33:29 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 15:33:29 2014 +0100"
      },
      "message": "docs update: pillar propagation setting must be applied to ext_pillar only\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "26aa8242a4402b883218c53f6ba22b5ab2309f37",
      "tree": "15c011c23c2c2696886a8c6672b67f02c8378f1b",
      "parents": [
        "758e50358d5cf91d8a7affebbc643b6dd6199b8e"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 14:45:02 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 14:45:02 2014 +0100"
      },
      "message": "Prepare reclass 1.3\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "758e50358d5cf91d8a7affebbc643b6dd6199b8e",
      "tree": "06adac999c729e92b7bdab6ebcfb6bb5028a458f",
      "parents": [
        "15346a1ae6b75fea5d806025a729e7b5f59c8837"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 14:40:56 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 14:42:10 2014 +0100"
      },
      "message": "Optionally propagate pillar data from Salt to reclass\n\nOptionally, data from pillars that run before the reclass ``ext_pillar``\n(i.e. Salt\u0027s builtin ``pillar_roots``, as well as other ``ext_pillar``\nmodules listed before the ``reclass_adapter``) can be made available to\nreclass. Please use this with caution as referencing data from Salt in\nthe inventory will make it harder or impossible to run |reclass| in\nother environments. This feature is therefore turned off by default and\nmust be explicitly enabled in the Salt master configuration file, like\nthis:\n\n  reclass: \u0026reclass\n      […]\n      propagate_pillar_data_to_reclass: True\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "15346a1ae6b75fea5d806025a729e7b5f59c8837",
      "tree": "a3ea755e6364b4448c9a246ba6a636721a371265",
      "parents": [
        "2bdfffd99e24023e2b3eaacc849d83a78176c2da"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 13:45:42 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 13:45:42 2014 +0100"
      },
      "message": "Include node name in __reclass__ pillar key\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "2bdfffd99e24023e2b3eaacc849d83a78176c2da",
      "tree": "233ca73a2f43296fda5072cd2b43189a0f63b62e",
      "parents": [
        "fb7360e4dd42d5dd38b58038f7179142112d7d11"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 13:45:04 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sat Mar 01 13:45:04 2014 +0100"
      },
      "message": "Update todo items\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "fb7360e4dd42d5dd38b58038f7179142112d7d11",
      "tree": "29afd66ee40ba3db561d50d94bf32e2787a16f38",
      "parents": [
        "14c81f5cba23404b5ea9a5bde77eb1a80b1ed4b9"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 17:20:41 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 17:20:41 2014 +0100"
      },
      "message": "remove printf-debugging\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "14c81f5cba23404b5ea9a5bde77eb1a80b1ed4b9",
      "tree": "d2823b3bbe6f8315477a0f2b5be0b156750db971",
      "parents": [
        "1ca2f246543ff074cb3d89082c02b25e782a2405"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 17:10:49 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 17:10:49 2014 +0100"
      },
      "message": "Allow classes to be namespaced with subdirectories\n\nClasses files may now reside in subdirectories, which act as namespaces.\nFor instance, a class ``ssh.server`` will result in the class definition\nto be read from ``ssh/server.yml``. Specifying just ``ssh`` will cause\nthe class data to be read from ``ssh/init.yml`` or ``ssh.yml``. Note,\nhowever, that only one of those two may be present.\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "1ca2f246543ff074cb3d89082c02b25e782a2405",
      "tree": "218741805d053c1b7c38904abd298137bcf69530",
      "parents": [
        "40815ee7ead4c9420c3d8285dfccd1e21b37bf00"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 16:22:06 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 16:22:06 2014 +0100"
      },
      "message": "Update changelog for commit 6cf5d7a\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "40815ee7ead4c9420c3d8285dfccd1e21b37bf00",
      "tree": "5f5955d6cd5ebe847f4f2ed0f5498765060c8a8b",
      "parents": [
        "8e8e3bb44b509ea1438322e2aadc4260cdc3c56a"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 16:21:28 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Feb 28 16:21:28 2014 +0100"
      },
      "message": "Update changelog for commit 5b17aca\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "8e8e3bb44b509ea1438322e2aadc4260cdc3c56a",
      "tree": "4c191606b1ec422757800e5ec771d3e91aa1a02d",
      "parents": [
        "46c7ce6b77e05685b1978a9621546e642f22a417",
        "6cf5d7aad040bfe2c006a580f95f173da6916c1e"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "github.com@pobox.madduck.net",
        "time": "Fri Feb 28 14:21:56 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "github.com@pobox.madduck.net",
        "time": "Fri Feb 28 14:21:56 2014 +0100"
      },
      "message": "Merge pull request #21 from solarnz/usage-documentation\n\nUpdate the usage documentation page to show the correct nodeinfo command."
    },
    {
      "commit": "46c7ce6b77e05685b1978a9621546e642f22a417",
      "tree": "aa321a88635a3507b15734e5004396330c63482e",
      "parents": [
        "d48a46ec8dcdcd2107f02505220f331c2f3f8c58"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Feb 26 21:53:07 2014 +0100"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Wed Feb 26 21:53:07 2014 +0100"
      },
      "message": "Add an environment to the example file\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "6cf5d7aad040bfe2c006a580f95f173da6916c1e",
      "tree": "bc1e9f3a429bfe365e22963287c43b3f3b08ed2b",
      "parents": [
        "d48a46ec8dcdcd2107f02505220f331c2f3f8c58"
      ],
      "author": {
        "name": "Chris Trotman",
        "email": "chris@trotman.io",
        "time": "Sun Feb 23 10:24:42 2014 +1100"
      },
      "committer": {
        "name": "Chris Trotman",
        "email": "chris@trotman.io",
        "time": "Sun Feb 23 10:24:42 2014 +1100"
      },
      "message": "Update the usage documentation page to show the correct nodeinfo command.\n\nIt seems that the --node argument is no longer available, as it asks you\nto choose between nodeinfo and nodes-uri. This updates the\ndocumentation to tell you to use nodeinfo to show the information\nrelating to a single node.\n"
    },
    {
      "commit": "d48a46ec8dcdcd2107f02505220f331c2f3f8c58",
      "tree": "79a63fad55dc568bca9c2e55d056fc8892a5ce57",
      "parents": [
        "5b17acaec05bf30748bf6813d3a1747d72cee3fb"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jan 03 14:32:49 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Feb 13 17:50:49 2014 +0100"
      },
      "message": "Quick-n-dirty addition of node environments\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "5b17acaec05bf30748bf6813d3a1747d72cee3fb",
      "tree": "bb16e771de3705fb7a35cd6ac3565f5d75a99f23",
      "parents": [
        "40b54ec26f1307c173f6b53561941bd0f1aec1a3"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Sun Jan 05 14:59:22 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Thu Feb 13 17:50:43 2014 +0100"
      },
      "message": "Update salt adapter top function to new Core API\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "commit": "40b54ec26f1307c173f6b53561941bd0f1aec1a3",
      "tree": "542f3b7928ca813426554c5c2d83f531311e7bc1",
      "parents": [
        "f219afa12102680efb4c8ace4feb4aac2ecee432"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jan 21 16:42:03 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Tue Jan 21 16:42:03 2014 +1300"
      },
      "message": "add lca2014 talk ref\n"
    },
    {
      "commit": "f219afa12102680efb4c8ace4feb4aac2ecee432",
      "tree": "aa938a5c1fbab13adb3973f879c8398ff5420fce",
      "parents": [
        "1582dfdccf495ae7b323e26acf5ada64562e298f"
      ],
      "author": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jan 03 14:04:45 2014 +1300"
      },
      "committer": {
        "name": "martin f. krafft",
        "email": "madduck@madduck.net",
        "time": "Fri Jan 03 14:32:59 2014 +1300"
      },
      "message": "fix entity uri unit test\n\nSigned-off-by: martin f. krafft \u003cmadduck@madduck.net\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "f2bfd95104ed4cbae023de434e5d40ad75daef0f"
}
