)]}'
{
  "log": [
    {
      "commit": "72b31426848c6ef12a7a8e216708cb0d1530f074",
      "tree": "5a52fbd44cfb69dd5e66863fbfb5752bc2d6f806",
      "parents": [
        "90dd71edc4d0a8b3511dc12ea15d617d03be09e0"
      ],
      "author": {
        "name": "Sotirios Mantziaris",
        "email": "smantziaris@gmail.com",
        "time": "Tue Jan 10 00:53:20 2017 +0200"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Mon Jan 09 23:53:20 2017 +0100"
      },
      "message": "Eliminate go vet warnings\n\n"
    },
    {
      "commit": "90dd71edc4d0a8b3511dc12ea15d617d03be09e0",
      "tree": "03c4d557dd7f605802d20176214408b240d80c17",
      "parents": [
        "2f30b2a92c0e5700bcfe4715891adb1f2a7a406d",
        "b2ec40fb248735ed2365eae46a35a17a2f939f19"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Mon Dec 26 10:19:39 2016 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 26 10:19:39 2016 +0100"
      },
      "message": "Merge pull request #113 from moorereason/iss112\n\nFix data races in MemMapFs.Chmod and Chtimes"
    },
    {
      "commit": "b2ec40fb248735ed2365eae46a35a17a2f939f19",
      "tree": "03c4d557dd7f605802d20176214408b240d80c17",
      "parents": [
        "2f30b2a92c0e5700bcfe4715891adb1f2a7a406d"
      ],
      "author": {
        "name": "Cameron Moore",
        "email": "moorereason@gmail.com",
        "time": "Sun Dec 25 23:43:06 2016 -0600"
      },
      "committer": {
        "name": "Cameron Moore",
        "email": "moorereason@gmail.com",
        "time": "Sun Dec 25 23:43:06 2016 -0600"
      },
      "message": "Fix data races in MemMapFs.Chmod and Chtimes\n\nFixes #112\n"
    },
    {
      "commit": "2f30b2a92c0e5700bcfe4715891adb1f2a7a406d",
      "tree": "0e7010d9313cfb89b58fbeeaab711e41c2488622",
      "parents": [
        "8a1f1350d877063e2d8271126a7dcd56e260bb90",
        "b34e0196a7352625b2b2a29e09e5af2ce5a60f17"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Thu Dec 08 19:21:42 2016 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 08 19:21:42 2016 +0100"
      },
      "message": "Merge pull request #110 from SonOfBytes/memfs-perm-fix\n\nSet perm in MemMapFS after OpenFile, MkDir and MkDirAll methods called"
    },
    {
      "commit": "8a1f1350d877063e2d8271126a7dcd56e260bb90",
      "tree": "beb134bdc3e3f9bc0dae0f2ae555232b30a2183c",
      "parents": [
        "22793e5c8b1afbd5a2bfdb64669ceb0b6a7fc4f2",
        "529281e51b30be707f67b379aed520ec66c8900a"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Thu Dec 08 19:19:22 2016 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 08 19:19:22 2016 +0100"
      },
      "message": "Merge pull request #99 from moorereason/unused\n\nRemove unused code"
    },
    {
      "commit": "22793e5c8b1afbd5a2bfdb64669ceb0b6a7fc4f2",
      "tree": "2197a93c1a5067acfecc5c319936192bd32eeb99",
      "parents": [
        "06b7e5f50606ecd49148a01a6008942d9b669217",
        "a1903a1b07a1ae3f919aa6fa4ba774a6d64525fd"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Thu Dec 08 19:17:24 2016 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 08 19:17:24 2016 +0100"
      },
      "message": "Merge pull request #111 from harsimranmaan/gofmt\n\nKeep gofmt happy"
    },
    {
      "commit": "a1903a1b07a1ae3f919aa6fa4ba774a6d64525fd",
      "tree": "2197a93c1a5067acfecc5c319936192bd32eeb99",
      "parents": [
        "06b7e5f50606ecd49148a01a6008942d9b669217"
      ],
      "author": {
        "name": "Harsimran Singh Maan",
        "email": "maan.harry@gmail.com",
        "time": "Tue Nov 22 22:54:07 2016 -0800"
      },
      "committer": {
        "name": "Harsimran Singh Maan",
        "email": "maan.harry@gmail.com",
        "time": "Tue Nov 22 22:54:07 2016 -0800"
      },
      "message": "Keep gofmt happy\n"
    },
    {
      "commit": "b34e0196a7352625b2b2a29e09e5af2ce5a60f17",
      "tree": "a1faa017f1a1250ef9598b4a55b505175da5cff9",
      "parents": [
        "030e8c054a1536c5b30e55ac84015f6e24bd0de2"
      ],
      "author": {
        "name": "SonOfBytes",
        "email": "SonOfBytes@users.noreply.github.com",
        "time": "Tue Nov 22 16:54:00 2016 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 22 16:54:00 2016 +0000"
      },
      "message": "Update memmap.go\n\nremove unnecessary comment"
    },
    {
      "commit": "030e8c054a1536c5b30e55ac84015f6e24bd0de2",
      "tree": "9cfa8d39cc6c50293a62fb6c407585ddaeb06204",
      "parents": [
        "06b7e5f50606ecd49148a01a6008942d9b669217"
      ],
      "author": {
        "name": "SonOfBytes",
        "email": "SonOfBytes@users.noreply.github.com",
        "time": "Tue Nov 22 16:24:52 2016 +0000"
      },
      "committer": {
        "name": "SonOfBytes",
        "email": "SonOfBytes@users.noreply.github.com",
        "time": "Tue Nov 22 16:24:52 2016 +0000"
      },
      "message": "Set Permissions after OpenFile, MkDir and MkDirAll methods called.  Added tests to validate.\n"
    },
    {
      "commit": "06b7e5f50606ecd49148a01a6008942d9b669217",
      "tree": "273015121de6dd04887eabf3b35faac56cab7a54",
      "parents": [
        "944579a3fcaa65a618594e80d3d5c249c34f24e7"
      ],
      "author": {
        "name": "Travis Yoder",
        "email": "trayoda@gmail.com",
        "time": "Tue Nov 08 17:09:53 2016 -0700"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Wed Nov 09 01:09:53 2016 +0100"
      },
      "message": "Fix typo in RemoveAll code comment\n\n"
    },
    {
      "commit": "944579a3fcaa65a618594e80d3d5c249c34f24e7",
      "tree": "4ec968b952dde217228913ec7414d60dbad95f8c",
      "parents": [
        "7711a1eb64099a4363049767e658717b786091f3"
      ],
      "author": {
        "name": "Laurent Charignon",
        "email": "l.charignon@gmail.com",
        "time": "Tue Nov 08 16:08:59 2016 -0800"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Wed Nov 09 01:08:59 2016 +0100"
      },
      "message": "Improve code in Readme\n\nThis patch makes the code in readme valid. The previous code had a few typos."
    },
    {
      "commit": "7711a1eb64099a4363049767e658717b786091f3",
      "tree": "244106fc4d40e2841450c33dadb3afae91d7e6ee",
      "parents": [
        "52e4a6cfac46163658bd4f123c49b6ee7dc75f78"
      ],
      "author": {
        "name": "Cameron Moore",
        "email": "moorereason@gmail.com",
        "time": "Tue Nov 08 16:07:28 2016 -0800"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Wed Nov 09 01:07:28 2016 +0100"
      },
      "message": "Move sftpfs to subpackage\n\n* move to sftpfs subpackage\r\n\r\n* rename sftp dir to sftpfs\r\n* sftpfs: Add New func and clean up interface\r\n\r\nFixes #97 \r\nUpdates #89"
    },
    {
      "commit": "529281e51b30be707f67b379aed520ec66c8900a",
      "tree": "b303a4bd2e51315e6dd0d3eb1b0ad15c68fd4bcb",
      "parents": [
        "20500e2abd0d1f4564a499e83d11d6c73cd58c27"
      ],
      "author": {
        "name": "Cameron Moore",
        "email": "moorereason@gmail.com",
        "time": "Mon Oct 03 22:03:51 2016 -0500"
      },
      "committer": {
        "name": "Cameron Moore",
        "email": "moorereason@gmail.com",
        "time": "Mon Oct 03 22:03:51 2016 -0500"
      },
      "message": "Remove unused code\n"
    },
    {
      "commit": "52e4a6cfac46163658bd4f123c49b6ee7dc75f78",
      "tree": "8ce7d8a6597f99d5f72cf0a0071673b2c21d6f01",
      "parents": [
        "20500e2abd0d1f4564a499e83d11d6c73cd58c27"
      ],
      "author": {
        "name": "Jamie Wilkinson",
        "email": "jaq@spacepants.org",
        "time": "Tue Sep 20 07:01:14 2016 +1000"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Mon Sep 19 23:01:14 2016 +0200"
      },
      "message": "Fixes a pass-by-value error in FileData.Name()\n\nFixes a pass-by-value error in FileData.Name() which causes the mutex to be copied, and use that method to retrieve the name of the file from a mem.File.  This really fixes the data race that motivated PR #95. (#96)\r\n\r\nI can\u0027t explain why moving the lock improves the situation, nor why calling through the accessor Name() instead of locking and reading f.fileData.name is not the same, but go vet indicates that the mutex in fileData was being copied, not preserved.\r\n\r\nThe reproducing test case upstream is:\r\ncheck out github.com/google/mtail\r\nmake install_deps\r\ngo test -race -timeout 1m -v -run TestProcessEvents --count\u003d10000 ./vm\r\n\r\nPrior to this change, the test reports a data race 3 times out of 10000, after, 0 times consistently."
    },
    {
      "commit": "20500e2abd0d1f4564a499e83d11d6c73cd58c27",
      "tree": "5bb7c616bdaf2dfbf541011f5350e7637be21b52",
      "parents": [
        "5596f5f73e6b723ff67b221cd92805122f6f1081",
        "8bf3f8b71f47b157e2c4eb8e9212866dff322194"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Sun Aug 21 10:36:12 2016 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 21 10:36:12 2016 +0200"
      },
      "message": "Merge pull request #93 from moorereason/no-defer-on-err\n\nImmediately check for errors on fs.Open"
    },
    {
      "commit": "5596f5f73e6b723ff67b221cd92805122f6f1081",
      "tree": "2bea0b33d702ed1a8e5cf9de542edbcf95ec2ac3",
      "parents": [
        "b28a7effac979219c2a2ed6205a4d70e4b1bcd02",
        "40ffa2c25cafb4db322e0b9b4c93d31d273dabe8"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Sun Aug 21 10:28:07 2016 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 21 10:28:07 2016 +0200"
      },
      "message": "Merge pull request #95 from jaqx0r/read-data-race\n\nFixes a data race caused by not locking the mem.FileData for read access."
    },
    {
      "commit": "40ffa2c25cafb4db322e0b9b4c93d31d273dabe8",
      "tree": "2bea0b33d702ed1a8e5cf9de542edbcf95ec2ac3",
      "parents": [
        "b28a7effac979219c2a2ed6205a4d70e4b1bcd02"
      ],
      "author": {
        "name": "Jamie Wilkinson",
        "email": "jaq@spacepants.org",
        "time": "Sun Mar 22 11:24:08 2015 +1100"
      },
      "committer": {
        "name": "Jamie Wilkinson",
        "email": "jaq@spacepants.org",
        "time": "Sat Aug 20 23:27:14 2016 +1000"
      },
      "message": "Fixes a data race caused by not locking the mem.FileData for read access.\n"
    },
    {
      "commit": "b28a7effac979219c2a2ed6205a4d70e4b1bcd02",
      "tree": "3b969839cdea9f8c4119a8d8bc09a8be9e1dbd7c",
      "parents": [
        "cc9c21814bb945440253108c4d3c65c85aac3c68"
      ],
      "author": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Tue Aug 16 10:07:57 2016 +0200"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Tue Aug 16 10:07:57 2016 +0200"
      },
      "message": "Add Go 1.7 to Travis config\n"
    },
    {
      "commit": "cc9c21814bb945440253108c4d3c65c85aac3c68",
      "tree": "f9111abf90c02e17820c94c03696fb7893681bb2",
      "parents": [
        "9d16de23201225827d576b4eee772103f71a75d7"
      ],
      "author": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Mon Jul 18 23:47:36 2016 +0200"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Mon Jul 18 23:47:48 2016 +0200"
      },
      "message": "Bump Travis to Go 1.6.3\n"
    },
    {
      "commit": "9d16de23201225827d576b4eee772103f71a75d7",
      "tree": "52e53f18ebcc31477291481631d3b8acc611fc9b",
      "parents": [
        "0979251a4ac33287f89326c87c877aa44d3ffe4b",
        "ea7b1968a9ce81458f3f0908f963ea2d62eb796a"
      ],
      "author": {
        "name": "Hanno Hecker",
        "email": "vetinari+github@ankh-morp.org",
        "time": "Sat Jul 09 19:46:09 2016 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 09 19:46:09 2016 +0200"
      },
      "message": "Merge pull request #91 from matthieugrieger/fix-readme-testing-example\n\nFixed utility function calls in testing example"
    },
    {
      "commit": "8bf3f8b71f47b157e2c4eb8e9212866dff322194",
      "tree": "4de4146d8332fefce90653a5aababc56f5cdd21f",
      "parents": [
        "1a8ecf8b9da1fb5306e149e83128fc447957d2a8"
      ],
      "author": {
        "name": "Cameron Moore",
        "email": "moorereason@gmail.com",
        "time": "Fri Jul 01 10:44:25 2016 -0500"
      },
      "committer": {
        "name": "Cameron Moore",
        "email": "moorereason@gmail.com",
        "time": "Fri Jul 01 10:44:25 2016 -0500"
      },
      "message": "Immediately check for errors on fs.Open\n\nFound with github.com/dominikh/go-staticcheck\n"
    },
    {
      "commit": "0979251a4ac33287f89326c87c877aa44d3ffe4b",
      "tree": "7763d7aea44f58fe2bdba37c91b578a2b609461e",
      "parents": [
        "1a8ecf8b9da1fb5306e149e83128fc447957d2a8"
      ],
      "author": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Mon Jun 27 02:21:49 2016 +0200"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Mon Jun 27 02:21:49 2016 +0200"
      },
      "message": "Replace log.Fatal with log.Panic\n\nFixes #92\n"
    },
    {
      "commit": "1a8ecf8b9da1fb5306e149e83128fc447957d2a8",
      "tree": "062fafb290f01efd8c0894df3f76484ff8d0c511",
      "parents": [
        "6b1e71387a2b60d8908859de9cde53259892ab03"
      ],
      "author": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Mon Jun 06 00:02:38 2016 +0200"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Mon Jun 06 00:02:38 2016 +0200"
      },
      "message": "Test on both Linux and OSX\n"
    },
    {
      "commit": "6b1e71387a2b60d8908859de9cde53259892ab03",
      "tree": "13d01b3ee85e2a20b32dda97377c7f5b0b66569b",
      "parents": [
        "e7c8609bb02fc74f69832076b562f026cfc2b640"
      ],
      "author": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Sun Jun 05 23:53:54 2016 +0200"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Sun Jun 05 23:53:54 2016 +0200"
      },
      "message": "Fix Travis config\n"
    },
    {
      "commit": "e7c8609bb02fc74f69832076b562f026cfc2b640",
      "tree": "379e03bb064b736e4f621d9b3c7bf8dc254551a4",
      "parents": [
        "f0b36a98d372af4038e20729956792ec38df54e2"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Fri Jun 03 16:31:14 2016 -0400"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Fri Jun 03 16:31:14 2016 -0400"
      },
      "message": "Add support for dragonfly and netbsd\n"
    },
    {
      "commit": "ea7b1968a9ce81458f3f0908f963ea2d62eb796a",
      "tree": "256d865e2f7ea264d6a46ac89fd2fd9c974a5e16",
      "parents": [
        "f0b36a98d372af4038e20729956792ec38df54e2"
      ],
      "author": {
        "name": "Matthieu Grieger",
        "email": "matthieugrieger@gmail.com",
        "time": "Wed Jun 01 21:37:16 2016 -0700"
      },
      "committer": {
        "name": "Matthieu Grieger",
        "email": "matthieugrieger@gmail.com",
        "time": "Wed Jun 01 21:37:16 2016 -0700"
      },
      "message": "Fixed utility function calls in testing example\n"
    },
    {
      "commit": "f0b36a98d372af4038e20729956792ec38df54e2",
      "tree": "3662b4b85a5cad27a779b14a11e6074f1e547194",
      "parents": [
        "eb0cc807c28245e500631c2d261d29e9daf37bc2"
      ],
      "author": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Sun May 08 20:08:58 2016 +0200"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Sun May 08 20:08:58 2016 +0200"
      },
      "message": "Update Travis config\n"
    },
    {
      "commit": "eb0cc807c28245e500631c2d261d29e9daf37bc2",
      "tree": "47e2bad903064d312ec22d14dbc660fc9682fffd",
      "parents": [
        "5dbffb6d3a7864c137197e501cf02e936156be1b"
      ],
      "author": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Wed Apr 27 09:25:23 2016 +0200"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Wed Apr 27 09:25:23 2016 +0200"
      },
      "message": "Fix parent not present on Windows\n\nThis will (in some cases?) `syscall.ENOTDIR`.\n\nFixes #86\n"
    },
    {
      "commit": "5dbffb6d3a7864c137197e501cf02e936156be1b",
      "tree": "1e07d80e72bb18ce1e6419ec42cfe5edd502e95d",
      "parents": [
        "12baa8a6f29abd89e537ce452b490fe67bd39013",
        "3c4cfa198ec403fd13f71c33f7fdcc6a7805a2c6"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Wed Apr 20 15:12:21 2016 +0200"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Wed Apr 20 15:12:21 2016 +0200"
      },
      "message": "Merge pull request #83 from francoishill/master\n\nAdd `FullBaseFsPath` utility method"
    },
    {
      "commit": "12baa8a6f29abd89e537ce452b490fe67bd39013",
      "tree": "bff45c9dd6bca340bd108ccd49d5f96fd8c1812e",
      "parents": [
        "0718c080db87ff3c2b60ad9a71c0b871bcd1b44f",
        "8404a5e8bf7356c96ef9ca6bc894d4fae15dd881"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Wed Apr 20 14:37:44 2016 +0200"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Wed Apr 20 14:37:44 2016 +0200"
      },
      "message": "Merge branch with fix for OpenFile behaviour in CopyOnWriteFs\u0027\n"
    },
    {
      "commit": "8404a5e8bf7356c96ef9ca6bc894d4fae15dd881",
      "tree": "24e3aa3aec1bd7d970cab4b883b3b2df6dc7297c",
      "parents": [
        "beda3674339347927cecd2e7a27d34c5e7d886f1"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Wed Apr 20 14:30:10 2016 +0200"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Wed Apr 20 14:30:10 2016 +0200"
      },
      "message": "don\u0027t return error in CopyOnWriteFs OpenFile if it is a not exist error\nfixes #78\n"
    },
    {
      "commit": "3c4cfa198ec403fd13f71c33f7fdcc6a7805a2c6",
      "tree": "d648e84729bc1fb626dab73bab5b16f46b4f7541",
      "parents": [
        "0718c080db87ff3c2b60ad9a71c0b871bcd1b44f"
      ],
      "author": {
        "name": "Francois Hill (fhill-wks)",
        "email": "francoishill11@gmail.com",
        "time": "Wed Apr 20 14:12:23 2016 +0200"
      },
      "committer": {
        "name": "Francois Hill (fhill-wks)",
        "email": "francoishill11@gmail.com",
        "time": "Wed Apr 20 14:12:23 2016 +0200"
      },
      "message": "Add `FullBaseFsPath` utility method\nThis method resolves the \"Full\" path of the `BasePathFs`. It also resolves for nested BasePaths.\nUnit tests were also added\n"
    },
    {
      "commit": "0718c080db87ff3c2b60ad9a71c0b871bcd1b44f",
      "tree": "7add014beddf94ba8aa30061d0f263f0cec0973e",
      "parents": [
        "a80ea588265c05730645be8342eeafeaa72b2923",
        "7b5e657cdb986949c8ac29ffa4f9af862517c47c"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Wed Apr 20 13:31:01 2016 +0200"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Wed Apr 20 13:31:01 2016 +0200"
      },
      "message": "Merge pull request #82 from go-zero-boilerplate/master\n\nRevert previous fullPath changes - add tests for nested BasePaths"
    },
    {
      "commit": "7b5e657cdb986949c8ac29ffa4f9af862517c47c",
      "tree": "7add014beddf94ba8aa30061d0f263f0cec0973e",
      "parents": [
        "8e75131a671e45f0ede900d15d5ced2a6730eb5b"
      ],
      "author": {
        "name": "Francois Hill (home win10)",
        "email": "francoishill11@gmail.com",
        "time": "Wed Apr 20 03:23:58 2016 +0200"
      },
      "committer": {
        "name": "Francois Hill (home win10)",
        "email": "francoishill11@gmail.com",
        "time": "Wed Apr 20 03:23:58 2016 +0200"
      },
      "message": "Revert the previous `fullPath` changes and add tests for \"nested\" `BasePath`\u0027s\n"
    },
    {
      "commit": "beda3674339347927cecd2e7a27d34c5e7d886f1",
      "tree": "8c73d30922af9223d4811f55414b616b1fef489a",
      "parents": [
        "a80ea588265c05730645be8342eeafeaa72b2923"
      ],
      "author": {
        "name": "paul gruenbacher",
        "email": "pgruenbacher@gmail.com",
        "time": "Mon Apr 18 19:25:52 2016 -0400"
      },
      "committer": {
        "name": "paul gruenbacher",
        "email": "pgruenbacher@gmail.com",
        "time": "Mon Apr 18 19:25:52 2016 -0400"
      },
      "message": "test to replicate stat error\n"
    },
    {
      "commit": "a80ea588265c05730645be8342eeafeaa72b2923",
      "tree": "4ae885dc31b1fb074e8144f312fbaef63d441cf6",
      "parents": [
        "2f194a29d557d6d46aa202870df1e9062dbda4d4",
        "8e75131a671e45f0ede900d15d5ced2a6730eb5b"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Mon Apr 18 21:37:44 2016 +0200"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Mon Apr 18 21:37:44 2016 +0200"
      },
      "message": "Merge pull request #80 from go-zero-boilerplate/master\n\nCloses spf13/afero#79"
    },
    {
      "commit": "8e75131a671e45f0ede900d15d5ced2a6730eb5b",
      "tree": "4ae885dc31b1fb074e8144f312fbaef63d441cf6",
      "parents": [
        "139c7715f02ee93f39ea05b933cdf9d92f116900"
      ],
      "author": {
        "name": "Francois Hill (dell laptop)",
        "email": "francoishill11@gmail.com",
        "time": "Mon Apr 18 20:17:01 2016 +0200"
      },
      "committer": {
        "name": "Francois Hill (dell laptop)",
        "email": "francoishill11@gmail.com",
        "time": "Mon Apr 18 20:17:01 2016 +0200"
      },
      "message": "Closes spf13/afero#79\nAmendment to previous commit, fixed the related test\n"
    },
    {
      "commit": "139c7715f02ee93f39ea05b933cdf9d92f116900",
      "tree": "60c6678bc52b0ba81cd521d849ca2a78a44db856",
      "parents": [
        "9a1fcfb267e0bafd227628a13d6277269fbd0c8f"
      ],
      "author": {
        "name": "Francois Hill (dell laptop)",
        "email": "francoishill11@gmail.com",
        "time": "Mon Apr 18 20:14:10 2016 +0200"
      },
      "committer": {
        "name": "Francois Hill (dell laptop)",
        "email": "francoishill11@gmail.com",
        "time": "Mon Apr 18 20:14:10 2016 +0200"
      },
      "message": "Closes spf13/afero#79\nRather keep the `RealPath` behaviour as originally implemented. Added a new method `fullPath` which is used by all other methods like `MkDir`.\n"
    },
    {
      "commit": "9a1fcfb267e0bafd227628a13d6277269fbd0c8f",
      "tree": "ec21f329d5841a99beac74ec7a684a7f632758e7",
      "parents": [
        "2f194a29d557d6d46aa202870df1e9062dbda4d4"
      ],
      "author": {
        "name": "Francois Hill (dell laptop)",
        "email": "francoishill11@gmail.com",
        "time": "Mon Apr 18 19:29:19 2016 +0200"
      },
      "committer": {
        "name": "Francois Hill (dell laptop)",
        "email": "francoishill11@gmail.com",
        "time": "Mon Apr 18 19:29:19 2016 +0200"
      },
      "message": "Closes spf13/afero#79\nAdded fix to support \"nested\" `BasePathFs`. Unit-tests are also included.\n"
    },
    {
      "commit": "2f194a29d557d6d46aa202870df1e9062dbda4d4",
      "tree": "939642bfd7b8a0653cb1e46d59db6d6d57368d91",
      "parents": [
        "469e5f14dc7b93686b8b966d143eb38dab7a884e"
      ],
      "author": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Wed Feb 17 11:33:17 2016 +0100"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Wed Feb 17 11:33:17 2016 +0100"
      },
      "message": "Add FileContainsAnyBytes\n"
    },
    {
      "commit": "469e5f14dc7b93686b8b966d143eb38dab7a884e",
      "tree": "a3beca8775f386fac70f179908d3a6ac91d61449",
      "parents": [
        "ddb4d0857d76b193582a5daf95065c48321b6b7e"
      ],
      "author": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Wed Feb 17 11:05:13 2016 +0100"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Wed Feb 17 11:05:13 2016 +0100"
      },
      "message": "Add tests for readerContains\n"
    },
    {
      "commit": "ddb4d0857d76b193582a5daf95065c48321b6b7e",
      "tree": "1a95ddffbe38ce07f2226c42e7085a910567d34a",
      "parents": [
        "3c51231761dc656960ecdf9fc5ef5e3e71139e05"
      ],
      "author": {
        "name": "bep",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Mon Feb 15 13:34:47 2016 +0100"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Mon Feb 15 19:09:17 2016 +0100"
      },
      "message": "Improve absolute file paths handling in BasePathFs\n\nA common mistake in using the BasePathFs is to give it a real\nOS absolute file path instead of a virtual one relative to the virtual base.\n\nThis commit adds some tests and returns an error on Windows in this case.\n\nOn Unix we have to train the users to do a better job.\n\nSee https://github.com/spf13/hugo/issues/1800\n"
    },
    {
      "commit": "3c51231761dc656960ecdf9fc5ef5e3e71139e05",
      "tree": "2644e22c1a53a2aa856d34318f3d3c0f0a3de1c7",
      "parents": [
        "28789ef4b78c82371d454bb13c56ef641bf50c6e"
      ],
      "author": {
        "name": "bep",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Mon Feb 15 12:13:46 2016 +0100"
      },
      "committer": {
        "name": "bep",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Mon Feb 15 12:13:46 2016 +0100"
      },
      "message": "Fix broken Windows tests\n\n@spf13 having a CI on Windows is only useful if you actually look at the\nbuild output.\n"
    },
    {
      "commit": "28789ef4b78c82371d454bb13c56ef641bf50c6e",
      "tree": "24c81d717efdb0a0187d6490360858820322efdf",
      "parents": [
        "7e073c0c708c61e2239df7492bde8951c75bb5fa"
      ],
      "author": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Sat Feb 13 18:09:23 2016 +0100"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Sat Feb 13 18:09:23 2016 +0100"
      },
      "message": "Add missing copyright to util.go\n\nUsing \"The Hugo Authors\" inside Hugo is fine, since the Git history shows the origin of the code.\n\nBy moving the code from Hugo to Afero (deleting the original), that history is lost -- or very hard to track.\n"
    },
    {
      "commit": "7e073c0c708c61e2239df7492bde8951c75bb5fa",
      "tree": "2141fdd500d4be672062d1bc36cae040667776f9",
      "parents": [
        "4c1d2aade6c615fd402036103be05efd5fce913d"
      ],
      "author": {
        "name": "Lenilson J. Dias",
        "email": "lenilson@gmail.com",
        "time": "Wed Feb 03 11:50:36 2016 -0200"
      },
      "committer": {
        "name": "Lenilson J. Dias",
        "email": "lenilson@gmail.com",
        "time": "Wed Feb 03 11:50:36 2016 -0200"
      },
      "message": "Fix syscall.EBADFD at FreeBSD\n\nSolve this: https://github.com/spf13/afero/issues/68\n\n      go get github.com/spf13/afero\n      # github.com/spf13/afero\n      gocode/src/github.com/spf13/afero/const_win_unix.go:22: undefined: syscall.EBADFD\n"
    },
    {
      "commit": "4c1d2aade6c615fd402036103be05efd5fce913d",
      "tree": "3aeea0ce04ab9182dac98bf8f816962292f33606",
      "parents": [
        "27290598eb02bcce628c4fc085114f7229e8df52",
        "3bf3fe3a71ec30582d6b87b7c1b37f25be20bc05"
      ],
      "author": {
        "name": "Hanno Hecker",
        "email": "vetinari+github@ankh-morp.org",
        "time": "Mon Feb 01 18:04:30 2016 +0100"
      },
      "committer": {
        "name": "Hanno Hecker",
        "email": "vetinari+github@ankh-morp.org",
        "time": "Mon Feb 01 18:04:30 2016 +0100"
      },
      "message": "Merge pull request #67 from tatsushid/fix/copyonwritefs-patherr-handling\n\nFix CopyOnWriteFs Stat to handle *os.PathError"
    },
    {
      "commit": "3bf3fe3a71ec30582d6b87b7c1b37f25be20bc05",
      "tree": "3aeea0ce04ab9182dac98bf8f816962292f33606",
      "parents": [
        "27290598eb02bcce628c4fc085114f7229e8df52"
      ],
      "author": {
        "name": "Tatsushi Demachi",
        "email": "tdemachi@gmail.com",
        "time": "Sun Jan 31 23:02:37 2016 +0900"
      },
      "committer": {
        "name": "Tatsushi Demachi",
        "email": "tdemachi@gmail.com",
        "time": "Sun Jan 31 23:16:38 2016 +0900"
      },
      "message": "Fix CopyOnWriteFs Stat to handle *os.PathError\n\nCopyOnWriteFs Stat function only checks its base file system\u0027s file or\ndirectory when its layer file system returns Stat error but if the layer\nfile system type is OsFs, it returns *os.PathError not syscall.ENOENT so\nin this case, the base file system\u0027s file or directory is never checked.\n\nThis fixes the behavior above by expanding *os.PathError and repacking\nthe error code if the error type is *os.PathError.\n"
    },
    {
      "commit": "27290598eb02bcce628c4fc085114f7229e8df52",
      "tree": "2bc7b2214ecd35effa343fe669e1a6e4f5977354",
      "parents": [
        "95ab1d42de6bbde0a9ee9227bcd479d9c187a8fc"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Sun Jan 31 09:25:25 2016 +0100"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Sun Jan 31 09:25:25 2016 +0100"
      },
      "message": "rename const file on bsd descendants to make go ignore its extension\n"
    },
    {
      "commit": "95ab1d42de6bbde0a9ee9227bcd479d9c187a8fc",
      "tree": "95defa8dd9a695b0152388457e8bf68de0b387d0",
      "parents": [
        "a5d3e7c8ca71b3c6e1dc2146cac8e39d7126d9b6",
        "91d2be079c5ac1635b70b8740624bf83b99d5f7e"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Sat Jan 30 21:43:17 2016 +0100"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Sat Jan 30 21:43:17 2016 +0100"
      },
      "message": "Merge pull request #65 from pjanouch/master\n\nFix OpenBSD build"
    },
    {
      "commit": "91d2be079c5ac1635b70b8740624bf83b99d5f7e",
      "tree": "95defa8dd9a695b0152388457e8bf68de0b387d0",
      "parents": [
        "a5d3e7c8ca71b3c6e1dc2146cac8e39d7126d9b6"
      ],
      "author": {
        "name": "premysl",
        "email": "p.janouch@gmail.com",
        "time": "Sat Jan 30 18:29:33 2016 +0100"
      },
      "committer": {
        "name": "premysl",
        "email": "p.janouch@gmail.com",
        "time": "Sat Jan 30 18:29:33 2016 +0100"
      },
      "message": "Fix OpenBSD build\n"
    },
    {
      "commit": "a5d3e7c8ca71b3c6e1dc2146cac8e39d7126d9b6",
      "tree": "e16674097b0012ee3169453de870715a3fb512f6",
      "parents": [
        "1f64d06ebebeb5ba7b9ccef1064e2542461cd8bd"
      ],
      "author": {
        "name": "Hanno Hecker",
        "email": "vetinari@ankh-morp.org",
        "time": "Sun Jan 24 08:02:52 2016 +0100"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 25 14:07:15 2016 -0500"
      },
      "message": "fix for OsFs w/ lower timestamp resolution\n"
    },
    {
      "commit": "1f64d06ebebeb5ba7b9ccef1064e2542461cd8bd",
      "tree": "d838208361b9468bc67049237dcf5936b90d5ffa",
      "parents": [
        "d660f82c74ef413a62eb295d2825345517637919"
      ],
      "author": {
        "name": "Hanno Hecker",
        "email": "vetinari@ankh-morp.org",
        "time": "Sun Jan 24 07:56:32 2016 +0100"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 25 14:05:49 2016 -0500"
      },
      "message": "fix isBaseFile\n"
    },
    {
      "commit": "d660f82c74ef413a62eb295d2825345517637919",
      "tree": "ed040992c1ee93905b3a577ac4e38a1e6f85b281",
      "parents": [
        "938310026430587b7bdf5eb487480611a748374d"
      ],
      "author": {
        "name": "Hanno Hecker",
        "email": "vetinari@ankh-morp.org",
        "time": "Sat Jan 16 17:25:52 2016 +0100"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 25 14:05:49 2016 -0500"
      },
      "message": "remove MemMepFs limitation\n"
    },
    {
      "commit": "938310026430587b7bdf5eb487480611a748374d",
      "tree": "6f37860823878c2d5b93d7ab7d1ad0b917736ff2",
      "parents": [
        "2ec8b79d6117d1cb941e1a15bf04f25f8b3c332c"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 25 14:02:30 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 25 14:02:30 2016 -0500"
      },
      "message": "rewrite logic of CoW.Open() with commentary\n"
    },
    {
      "commit": "2ec8b79d6117d1cb941e1a15bf04f25f8b3c332c",
      "tree": "d8b4df1dd41f59705b897d5aaf17c10b3802e282",
      "parents": [
        "969a70f798b9bb5aaa7a81223f6d2264d586a553"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Wed Jan 13 16:37:11 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Wed Jan 13 16:37:11 2016 -0500"
      },
      "message": "Make OsFs.Open interoperable with others (with tests confirming)\n"
    },
    {
      "commit": "969a70f798b9bb5aaa7a81223f6d2264d586a553",
      "tree": "2ce54f088ad6ec87bc5465595f1a540f8e674149",
      "parents": [
        "220647edb92ffafbc2897503a952c800a6bf45d3"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Wed Jan 13 12:41:35 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Wed Jan 13 12:41:35 2016 -0500"
      },
      "message": "test CopyOnWriteFs with OsFs\n"
    },
    {
      "commit": "220647edb92ffafbc2897503a952c800a6bf45d3",
      "tree": "3db163372428d80cc830fb600340371a4a26a78a",
      "parents": [
        "52ef806ebb2b0d134591c065c17334b9e1ec9a5d"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Tue Jan 12 00:34:15 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Tue Jan 12 00:34:15 2016 -0500"
      },
      "message": "Permit accessing basePath root in BasePathFs (with test)\n"
    },
    {
      "commit": "52ef806ebb2b0d134591c065c17334b9e1ec9a5d",
      "tree": "014abd57f24efd46fe3392287807c163aea45f35",
      "parents": [
        "cb3771c13a09f9658174e3706610bec68c511159"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 21:49:09 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 21:49:09 2016 -0500"
      },
      "message": "update examples to use \u0027afero.\u0027 before calls\n"
    },
    {
      "commit": "cb3771c13a09f9658174e3706610bec68c511159",
      "tree": "b2d9dd01fe9ddad36f20351cf680653b945b1ede",
      "parents": [
        "5c392cd048a557956d03d2b77ff8285e5404556d"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 21:44:13 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 21:44:13 2016 -0500"
      },
      "message": "remove filter\n"
    },
    {
      "commit": "5c392cd048a557956d03d2b77ff8285e5404556d",
      "tree": "8cb84da3b2566e88acb3dcb7e8821ade09360ceb",
      "parents": [
        "fe8e8953368bff0a84babecf4e2a6c965c0453c8"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 21:44:01 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 21:44:01 2016 -0500"
      },
      "message": "Update filenames to reflect new names\n"
    },
    {
      "commit": "fe8e8953368bff0a84babecf4e2a6c965c0453c8",
      "tree": "74efc68603e361db3e9ae4cc2dfaf6a6be8538d6",
      "parents": [
        "4f6cfb713aea8f062677573d5a271eadab36193c"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 21:41:03 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 21:41:03 2016 -0500"
      },
      "message": "Migrate all backends \u0026 readme to use constructorish New...\n"
    },
    {
      "commit": "4f6cfb713aea8f062677573d5a271eadab36193c",
      "tree": "8af5831bcc2f87252189470ca44b9ae215f2ad2c",
      "parents": [
        "98c426b27b2749eff8f8ea0889b938688f96a9f5"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 20:27:36 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 20:48:25 2016 -0500"
      },
      "message": "Update readme to reflect migration of filters to filesystems\n"
    },
    {
      "commit": "98c426b27b2749eff8f8ea0889b938688f96a9f5",
      "tree": "08bbb711561e578bd49d1ad7b4ffa6ae932b74ad",
      "parents": [
        "9d548259fd822aab69c375840ae00470fe6b8078"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 20:26:48 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 20:48:25 2016 -0500"
      },
      "message": "Rename CopyOnWriteUnionFs -\u003e CopyOnWriteFs\n"
    },
    {
      "commit": "9d548259fd822aab69c375840ae00470fe6b8078",
      "tree": "be36093a9cff34157794bfeb9db9cab34513b958",
      "parents": [
        "a3ed6284860d6d72dce1dcc6580209ac79c511c4"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 20:25:54 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 20:48:25 2016 -0500"
      },
      "message": "Rename CacheUnionFs -\u003e CacheOnReadFs\n"
    },
    {
      "commit": "a3ed6284860d6d72dce1dcc6580209ac79c511c4",
      "tree": "78303a18a10f02374877119717c0550476d8918b",
      "parents": [
        "76b64e1d85c6be785fdb64a332f1f7da85bffee5"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 16:32:08 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 20:48:25 2016 -0500"
      },
      "message": "refine BasePathFs implementation\n"
    },
    {
      "commit": "76b64e1d85c6be785fdb64a332f1f7da85bffee5",
      "tree": "331a7ad5a12405dfb5d16e9a79455d73e2b72b8e",
      "parents": [
        "c6185187f1020470c0b0ea6592f0564b5d9f3af5"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 16:13:32 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 20:48:25 2016 -0500"
      },
      "message": "rename HttpFs:SourceFs to \u0027source\u0027 to keep consistent\n"
    },
    {
      "commit": "c6185187f1020470c0b0ea6592f0564b5d9f3af5",
      "tree": "f8840e4914132cc38f167c15107507dd1f481de7",
      "parents": [
        "84018f2b47c701aaaba011f5c4ab838bd464357d"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 16:07:40 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 20:48:25 2016 -0500"
      },
      "message": "port unionFs from filters to filesystems\n"
    },
    {
      "commit": "84018f2b47c701aaaba011f5c4ab838bd464357d",
      "tree": "aa6924599cb1516edfd2c38cc5c1c29314c51ba8",
      "parents": [
        "da00b1fb7c1efe92f960b201f66efb92486c3d0f"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 15:31:07 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 20:48:25 2016 -0500"
      },
      "message": "port RO \u0026 Regexp from filter to filesystem\n"
    },
    {
      "commit": "da00b1fb7c1efe92f960b201f66efb92486c3d0f",
      "tree": "80228b9b8dcc0cddfee3cb77613ae3b073d3edf5",
      "parents": [
        "27539916a77bf6067d78f4a64a2cdab51978ecb8"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 15:30:26 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 20:48:25 2016 -0500"
      },
      "message": "port BasePathFs from filter to filesystem\n"
    },
    {
      "commit": "27539916a77bf6067d78f4a64a2cdab51978ecb8",
      "tree": "3590456881e56c44aef4d514fe4994d99965f643",
      "parents": [
        "a679d4a95ec6401c4a6014b2bb61ceba215a5b9a"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 20:25:09 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 20:48:25 2016 -0500"
      },
      "message": "Disable sftp_test.go until it can pass tests\n"
    },
    {
      "commit": "a679d4a95ec6401c4a6014b2bb61ceba215a5b9a",
      "tree": "d99ffe198cac142d9f7f2874efbe0a06057df15c",
      "parents": [
        "e68b257a2bacb37491373d2204329a3e7e63a3d4"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 14:28:57 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 14:42:14 2016 -0500"
      },
      "message": "Add BADFD constant to permit compilation on darwin\n"
    },
    {
      "commit": "e68b257a2bacb37491373d2204329a3e7e63a3d4",
      "tree": "333932a090bebabe247c490255f0216cb3d7a55a",
      "parents": [
        "300870a2d564c63ad398cfd4fba23459c17e3ca2"
      ],
      "author": {
        "name": "Hanno Hecker",
        "email": "vetinari@ankh-morp.org",
        "time": "Sat Jan 02 07:52:40 2016 +0100"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 14:42:14 2016 -0500"
      },
      "message": "add union fs\n"
    },
    {
      "commit": "300870a2d564c63ad398cfd4fba23459c17e3ca2",
      "tree": "536a9d43d0c8bc5e65eba348c4889142ae3bd04e",
      "parents": [
        "205066d39194ad50b4daa6537f9f4d13e5a46e92"
      ],
      "author": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 13:42:25 2016 -0500"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 13:42:25 2016 -0500"
      },
      "message": "pausing during modtime test so darwin passes\n"
    },
    {
      "commit": "205066d39194ad50b4daa6537f9f4d13e5a46e92",
      "tree": "2080827dbe7a4aef81941388c2d92c480794b724",
      "parents": [
        "49e01f227a2fe8487498a4a9cee661f0396c520f"
      ],
      "author": {
        "name": "Hanno Hecker",
        "email": "vetinari@ankh-morp.org",
        "time": "Wed Dec 30 08:16:22 2015 +0100"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Jan 11 13:21:51 2016 -0500"
      },
      "message": "Add BasePathFs as FilterFs\n\n* add a BasePathFs implemented as FilterFs:\n  The BasePathFs restricts all operations to a given path within an Fs.\n  The given file name to the operations on this Fs will be prepended\n  with the base path before calling the base Fs.\n  Any file name (after filepath.Clean()) outside this base path will be\n  treated as non existing file.\n\n* fix meaning of \"facere\" - \"facio\" means \"I do\", \"facere\" is the base\n  form\n"
    },
    {
      "commit": "49e01f227a2fe8487498a4a9cee661f0396c520f",
      "tree": "8614e5a5b307d0becec206df126968173ac6d27b",
      "parents": [
        "c2313a7dbda9ee6aba13a5987df3e3352d77eb43",
        "a19c2e3d704d52efa98f1ab7964187614026a3c0"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Thu Jan 07 12:05:43 2016 +0100"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Thu Jan 07 12:05:43 2016 +0100"
      },
      "message": "Merge pull request #57 from spf13/short-test-sleep\n\nSpeed up test on unix systems"
    },
    {
      "commit": "c2313a7dbda9ee6aba13a5987df3e3352d77eb43",
      "tree": "9fa2e941b0436e7df258239efd9f8e30921fafee",
      "parents": [
        "6a67f8a50b6976a9bc36ac6619ab574abf2c5742",
        "a34aa3adc40a5d5fc6904cb0ed08bbcbb9509c26"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Thu Jan 07 12:05:15 2016 +0100"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Thu Jan 07 12:05:15 2016 +0100"
      },
      "message": "Merge pull request #48 from xor-gate/sftp-beta-for-upstream\n\nAdd SftpFs experimental backend"
    },
    {
      "commit": "a19c2e3d704d52efa98f1ab7964187614026a3c0",
      "tree": "110959aca278f07654681837ac5596c65becf0e0",
      "parents": [
        "9d271522927a8850bca29e0248ce7f92f8725609"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Thu Jan 07 11:58:02 2016 +0100"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Thu Jan 07 11:58:02 2016 +0100"
      },
      "message": "make test output verbose on travis\n"
    },
    {
      "commit": "9d271522927a8850bca29e0248ce7f92f8725609",
      "tree": "4e5fb3ef19c2326bcaf6e29d36b9e13ec2c4040b",
      "parents": [
        "6a67f8a50b6976a9bc36ac6619ab574abf2c5742"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Thu Jan 07 11:52:33 2016 +0100"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Thu Jan 07 11:52:33 2016 +0100"
      },
      "message": "try to speed up test on unix systems\n"
    },
    {
      "commit": "6a67f8a50b6976a9bc36ac6619ab574abf2c5742",
      "tree": "129b97c602796c254324424b66ff9c634cf14852",
      "parents": [
        "d8bbf358ca84aa1a1f0fdf757a3d4df58e113ada"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Thu Jan 07 11:47:44 2016 +0100"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Thu Jan 07 11:47:44 2016 +0100"
      },
      "message": "Remove FileExists error in MemMapFs.Rename when destination file exists, because os.Rename also doesn\u0027t return the error\n"
    },
    {
      "commit": "d8bbf358ca84aa1a1f0fdf757a3d4df58e113ada",
      "tree": "eb597f7fb24c45356a54e35e4883d757191643ea",
      "parents": [
        "f0b9fc1bdbc068e03f333e7d7e0cdb76d8b13a52",
        "bb3fe399666c8efb9dd739c0f0296b763cf655c4"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Mon Jan 04 19:51:02 2016 +0100"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Mon Jan 04 19:51:02 2016 +0100"
      },
      "message": "Merge pull request #56 from vetinari/close-modtime\n\nSet modtime on any write"
    },
    {
      "commit": "bb3fe399666c8efb9dd739c0f0296b763cf655c4",
      "tree": "eb597f7fb24c45356a54e35e4883d757191643ea",
      "parents": [
        "f0b9fc1bdbc068e03f333e7d7e0cdb76d8b13a52"
      ],
      "author": {
        "name": "Hanno Hecker",
        "email": "vetinari@ankh-morp.org",
        "time": "Mon Jan 04 19:34:24 2016 +0100"
      },
      "committer": {
        "name": "Hanno Hecker",
        "email": "vetinari@ankh-morp.org",
        "time": "Mon Jan 04 19:34:24 2016 +0100"
      },
      "message": "set modtime on any write\n"
    },
    {
      "commit": "f0b9fc1bdbc068e03f333e7d7e0cdb76d8b13a52",
      "tree": "912dc1d802a6fa4318196c357599950d35fb4244",
      "parents": [
        "023640316abe69beb521ec6020c97890fadaad16"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Mon Jan 04 01:54:48 2016 +0100"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Mon Jan 04 01:54:48 2016 +0100"
      },
      "message": "Implement and test read only MemMapFs file handles\n\nFixes #53\n"
    },
    {
      "commit": "023640316abe69beb521ec6020c97890fadaad16",
      "tree": "1413bbb6f5e8928b4dd144c77cb502ecf9bed26a",
      "parents": [
        "e7cb826c1fa97286ab8c9c5a480ac1b33a4bc413",
        "a5f01f1106e079cdd8d688c7236aa2a59ab729a1"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Mon Jan 04 00:59:32 2016 +0100"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Mon Jan 04 00:59:32 2016 +0100"
      },
      "message": "Merge pull request #55 from spf13/multiple-mem-file-handles\n\nSeperate MemMapFs file data and file handles"
    },
    {
      "commit": "a5f01f1106e079cdd8d688c7236aa2a59ab729a1",
      "tree": "1413bbb6f5e8928b4dd144c77cb502ecf9bed26a",
      "parents": [
        "0321b04b21f1ec4e585810d74ff5dbbcfe592036"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Mon Jan 04 00:36:01 2016 +0100"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Mon Jan 04 00:36:01 2016 +0100"
      },
      "message": "replace mem.File handles with mem.FileData when mem.FileData is all we need\n"
    },
    {
      "commit": "0321b04b21f1ec4e585810d74ff5dbbcfe592036",
      "tree": "0be334c8ecbac396a5dd9d3e62f078db8040f670",
      "parents": [
        "7096d68458e787d1121f2b895fbc47d90587bf22"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Mon Jan 04 00:18:26 2016 +0100"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Mon Jan 04 00:18:26 2016 +0100"
      },
      "message": "fix mem.DirMap and mem.Dir to only use *FileData and not *File handles\n"
    },
    {
      "commit": "7096d68458e787d1121f2b895fbc47d90587bf22",
      "tree": "4e67fe4fa7da3183666acf7e4ef48de62963cafc",
      "parents": [
        "7b991cb257b79b138a10e2b5073b7c372dd7911b"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Sun Jan 03 23:59:42 2016 +0100"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Sun Jan 03 23:59:42 2016 +0100"
      },
      "message": "mem.File is now mem.FileData and mem.File is a file handle with a pointer to a mem.FileData\n"
    },
    {
      "commit": "7b991cb257b79b138a10e2b5073b7c372dd7911b",
      "tree": "3a136f0d3d50e10ee20318efb48ef7064de35716",
      "parents": [
        "e7cb826c1fa97286ab8c9c5a480ac1b33a4bc413"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Sun Jan 03 22:11:08 2016 +0100"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Sun Jan 03 22:11:08 2016 +0100"
      },
      "message": "add a test that fails if MemMapFs has the same `at` counter for multiple file objects\n"
    },
    {
      "commit": "a34aa3adc40a5d5fc6904cb0ed08bbcbb9509c26",
      "tree": "5b8688815603e6a5e91f4f5dee89a6d10a6475ad",
      "parents": [
        "719e24f1e2596085b7162f8255562414d59e9444"
      ],
      "author": {
        "name": "Jerry Jacobs",
        "email": "jerry.jacobs@xor-gate.org",
        "time": "Sat Jan 02 14:38:54 2016 +0100"
      },
      "committer": {
        "name": "Jerry Jacobs",
        "email": "jerry.jacobs@xor-gate.org",
        "time": "Sat Jan 02 14:38:54 2016 +0100"
      },
      "message": "README: Add xor-gate as author\n"
    },
    {
      "commit": "719e24f1e2596085b7162f8255562414d59e9444",
      "tree": "6d10475d86795002f9644daf4782d93a7722c9d6",
      "parents": [
        "acdc8aab04669eb2b89c4607ede69c870ee0919a"
      ],
      "author": {
        "name": "Jerry Jacobs",
        "email": "jerry.jacobs@xor-gate.org",
        "time": "Sat Jan 02 14:24:58 2016 +0100"
      },
      "committer": {
        "name": "Jerry Jacobs",
        "email": "jerry.jacobs@xor-gate.org",
        "time": "Sat Jan 02 14:24:58 2016 +0100"
      },
      "message": "Dont read HOME/.ssh/id_rsa, create todo\n"
    },
    {
      "commit": "acdc8aab04669eb2b89c4607ede69c870ee0919a",
      "tree": "df4d82bf5d429c8ec3108adb8d625618775de9b2",
      "parents": [
        "7d5dacc912daf4125151430ab72d7febf738dc18"
      ],
      "author": {
        "name": "Jerry Jacobs",
        "email": "jerry.jacobs@xor-gate.org",
        "time": "Sat Jan 02 14:12:59 2016 +0100"
      },
      "committer": {
        "name": "Jerry Jacobs",
        "email": "jerry.jacobs@xor-gate.org",
        "time": "Sat Jan 02 14:12:59 2016 +0100"
      },
      "message": "* Cleanup and add some todos\n"
    },
    {
      "commit": "7d5dacc912daf4125151430ab72d7febf738dc18",
      "tree": "480eff115700f59e6f4f59079723424d1efdee06",
      "parents": [
        "3f46b4f31fe22c9b572145aa94974bc01a0ca2ed"
      ],
      "author": {
        "name": "Jerry Jacobs",
        "email": "jerry.jacobs@xor-gate.org",
        "time": "Sat Jan 02 14:00:20 2016 +0100"
      },
      "committer": {
        "name": "Jerry Jacobs",
        "email": "jerry.jacobs@xor-gate.org",
        "time": "Sat Jan 02 14:00:20 2016 +0100"
      },
      "message": "* Generate RSA key and spawn SFTP server for test\n"
    },
    {
      "commit": "3f46b4f31fe22c9b572145aa94974bc01a0ca2ed",
      "tree": "ff49d023e226587e63cdb6949aa2dec54623d6bc",
      "parents": [
        "90ff561ddabb8a8684af99c06930ab0caba7f51f"
      ],
      "author": {
        "name": "Jerry Jacobs",
        "email": "jerry.jacobs@xor-gate.org",
        "time": "Sat Dec 26 20:43:55 2015 +0100"
      },
      "committer": {
        "name": "Jerry Jacobs",
        "email": "jerry.jacobs@xor-gate.org",
        "time": "Sat Dec 26 20:43:55 2015 +0100"
      },
      "message": "sftp_test.go: Fixup import path\n"
    },
    {
      "commit": "90ff561ddabb8a8684af99c06930ab0caba7f51f",
      "tree": "329c0382b6a0455ee7d2246573ff472e77aa8e16",
      "parents": [
        "e7cb826c1fa97286ab8c9c5a480ac1b33a4bc413"
      ],
      "author": {
        "name": "Jerry Jacobs",
        "email": "jerry.jacobs@xor-gate.org",
        "time": "Sat Dec 26 20:36:25 2015 +0100"
      },
      "committer": {
        "name": "Jerry Jacobs",
        "email": "jerry.jacobs@xor-gate.org",
        "time": "Sat Dec 26 20:36:25 2015 +0100"
      },
      "message": "Add SftpFs beta backend\n"
    },
    {
      "commit": "e7cb826c1fa97286ab8c9c5a480ac1b33a4bc413",
      "tree": "4dfb917ebe182ff024360fcab5057102fadf6c6a",
      "parents": [
        "f4b37b446e2a9bddcb2ebf1162fb52597eb660f4"
      ],
      "author": {
        "name": "Hanno Hecker",
        "email": "vetinari@ankh-morp.org",
        "time": "Sun Dec 20 12:08:01 2015 +0100"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Dec 21 13:34:19 2015 -0500"
      },
      "message": "update README to match the filters\n"
    },
    {
      "commit": "f4b37b446e2a9bddcb2ebf1162fb52597eb660f4",
      "tree": "e96baf456ce3561098e2278abc7cc1ecf8a3e215",
      "parents": [
        "98ed0a3409c1eda06e9b6bf36d063ae1f628359a"
      ],
      "author": {
        "name": "Hanno Hecker",
        "email": "vetinari@ankh-morp.org",
        "time": "Sun Dec 20 11:47:14 2015 +0100"
      },
      "committer": {
        "name": "Steve Francia",
        "email": "steve.francia@gmail.com",
        "time": "Mon Dec 21 13:34:19 2015 -0500"
      },
      "message": "Add RegexpFilter\n\n- rework FilterFs to be truely chaining, i.e. every call not intercepted\n  must be passed to the source Fs\n- AddFilter accepts just a FilterFs, not a Fs\n- FilterFs\u0027 AddFilter(FilterFs) should be implemented by any\n  FilterFs like\n\n  func (f *myFilter) AddFilter(fs FilterFs) {\n       fs.SetSource(f.source)\n       f.source \u003d fs\n  }\n"
    },
    {
      "commit": "98ed0a3409c1eda06e9b6bf36d063ae1f628359a",
      "tree": "cc0fe071d8b34f25ade3b9cc6338922a009c0dee",
      "parents": [
        "2101bdf57c18d54218165289847644d32675275c"
      ],
      "author": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Sun Dec 20 22:09:09 2015 +0100"
      },
      "committer": {
        "name": "Martin Bertschler",
        "email": "mbertschler@gmail.com",
        "time": "Sun Dec 20 22:09:09 2015 +0100"
      },
      "message": "return improved errors from MemMapFs methods\n\nMemMapFs.Mkdir now returns an error if the file or dir already exists\nMemMapFs.Remove now returns an error if the file or dir doesn\u0027t exists\n\nfixes #43\n"
    },
    {
      "commit": "2101bdf57c18d54218165289847644d32675275c",
      "tree": "47bb6dc56ef775f3d978d23f4df5920f69e75c1a",
      "parents": [
        "7e65370ebb122ba333934f1fc0c9432178f19eb7"
      ],
      "author": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Fri Dec 18 21:26:04 2015 +0100"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Fri Dec 18 21:26:04 2015 +0100"
      },
      "message": "Unexport the RWMutex in MemMapFs\n"
    },
    {
      "commit": "7e65370ebb122ba333934f1fc0c9432178f19eb7",
      "tree": "3995efdeca7d0d5fc9d5c45755802757ef0cc207",
      "parents": [
        "75b0bd216a4b4f527dae351073b259fef4f00f81"
      ],
      "author": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Fri Dec 18 19:49:14 2015 +0100"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Fri Dec 18 19:49:23 2015 +0100"
      },
      "message": "Remove unused mutex\n"
    },
    {
      "commit": "75b0bd216a4b4f527dae351073b259fef4f00f81",
      "tree": "21f716fa0b07cee43f9a49a5861484c2c0a7b800",
      "parents": [
        "36b075cbbf5a5e6414ee3c307d1c1b955bb7d20d"
      ],
      "author": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Fri Dec 18 19:20:45 2015 +0100"
      },
      "committer": {
        "name": "Bjørn Erik Pedersen",
        "email": "bjorn.erik.pedersen@gmail.com",
        "time": "Fri Dec 18 19:20:45 2015 +0100"
      },
      "message": "Fix data races in MemMapFs\n\nAlso simplifiy the lock constructs.\n\nFixes #44\nFixes #45\n"
    },
    {
      "commit": "36b075cbbf5a5e6414ee3c307d1c1b955bb7d20d",
      "tree": "2d2e3506f36b2bddccf7d068402fc7dabc9673fd",
      "parents": [
        "03c0cb57021caedd556f37042eef4ca96c8bac5a"
      ],
      "author": {
        "name": "Hanno Hecker",
        "email": "vetinari@ankh-morp.org",
        "time": "Tue Dec 15 18:18:10 2015 +0100"
      },
      "committer": {
        "name": "Hanno Hecker",
        "email": "vetinari@ankh-morp.org",
        "time": "Tue Dec 15 18:18:10 2015 +0100"
      },
      "message": "show how filtering is used\n"
    }
  ],
  "next": "03c0cb57021caedd556f37042eef4ca96c8bac5a"
}
