)]}'
{
  "log": [
    {
      "commit": "7d1595faba108f5c6c9b678288eb5092ba555bd1",
      "tree": "96bb055b1ffd5cea41af7c0207399c44e2e246d8",
      "parents": [
        "8cb0215282c329d299d7d1d195abae4704981ba6",
        "5bb64f6220bd3c3c985efbc148e3f7253b3d9d71"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Tue Sep 12 14:22:10 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 12 14:22:10 2017 +0200"
      },
      "message": "Merge pull request #588 from erizocosmico/perf/revlist-norevisit-ancestors-fixed\n\nrevlist: do not revisit ancestors as long as all branches are visited"
    },
    {
      "commit": "5bb64f6220bd3c3c985efbc148e3f7253b3d9d71",
      "tree": "96bb055b1ffd5cea41af7c0207399c44e2e246d8",
      "parents": [
        "8cb0215282c329d299d7d1d195abae4704981ba6"
      ],
      "author": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Tue Sep 12 10:04:46 2017 +0200"
      },
      "committer": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Tue Sep 12 13:37:18 2017 +0200"
      },
      "message": "revlist: do not revisit ancestors as long as all branches are visited\nThis change is the fixed version of the previous performance improvement\nthat was reverted due to some bogus logic.\nNow it\u0027s fixed and only stops the iteration if and only if all of the\nbranches we\u0027ve come across have been visited, being a branch a parent\ncommit of a commit we\u0027ve visited.\n\nSigned-off-by: Miguel Molina \u003cmiguel@erizocosmi.co\u003e\n"
    },
    {
      "commit": "8cb0215282c329d299d7d1d195abae4704981ba6",
      "tree": "c499cf7ac25842c818d31c690bedb602940e13db",
      "parents": [
        "032ec287ec496117dc85cd0e9c9224b2b17f5398",
        "841b62a321b3739381b48aeea7364126d1c54520"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Tue Sep 12 11:20:29 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 12 11:20:29 2017 +0200"
      },
      "message": "Merge pull request #586 from keybase/strib/commit-preorder-seen-gh-master\n\nplumbing: the commit walker can skip externally-seen commits"
    },
    {
      "commit": "032ec287ec496117dc85cd0e9c9224b2b17f5398",
      "tree": "582a03b677b2a4c34c46c83f6511ad141c7b3ccb",
      "parents": [
        "bb3217ce5d5ed682a5c830c40ea031d3c92a8a7e",
        "52c1f982ea0004de419d1a7f69d7eaf8b8d6b659"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Mon Sep 11 20:23:36 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 11 20:23:36 2017 +0200"
      },
      "message": "Merge pull request #587 from keybase/strib/skip-compression-gh-master\n\nconfig: support a configurable, and turn-off-able, pack.window"
    },
    {
      "commit": "52c1f982ea0004de419d1a7f69d7eaf8b8d6b659",
      "tree": "582a03b677b2a4c34c46c83f6511ad141c7b3ccb",
      "parents": [
        "bb3217ce5d5ed682a5c830c40ea031d3c92a8a7e"
      ],
      "author": {
        "name": "Jeremy Stribling",
        "email": "strib@alum.mit.edu",
        "time": "Sun Sep 10 20:59:31 2017 -0700"
      },
      "committer": {
        "name": "Jeremy Stribling",
        "email": "strib@alum.mit.edu",
        "time": "Mon Sep 11 08:56:54 2017 -0700"
      },
      "message": "config: support a configurable, and turn-off-able, pack.window\n\nOne use of go-git is to transfer git data from a non-standard git repo\n(not stored in a file system, for example) to a \"remote\" backed by a\nstandard, local .git repo.\n\nIn this scenario, delta compression is not needed to reduce transfer\ntime over the \"network\", because there is no network. The underlying\nstorage layer has already taken care of the data tranfer, and sending\nthe objects to local .git storage doesn\u0027t require compression. So this\nPR gives the user the option to turn off compression when it isn\u0027t\nneeded.\n\nOf course, this results in a larger, uncompressed local .git repo, but\nthe user can then run git gc or git repack on that repo if they care\nabout the storage costs.\n\nTurning the pack window to 0 on reduces total push time of a 36K repo\nby 50 seconds (out of a pre-PR total of 3m26s).\n"
    },
    {
      "commit": "841b62a321b3739381b48aeea7364126d1c54520",
      "tree": "6d09c53325a7c31e15aa794631ec41c0b36b038c",
      "parents": [
        "bb3217ce5d5ed682a5c830c40ea031d3c92a8a7e"
      ],
      "author": {
        "name": "Jeremy Stribling",
        "email": "strib@alum.mit.edu",
        "time": "Fri Sep 08 17:51:38 2017 -0700"
      },
      "committer": {
        "name": "Jeremy Stribling",
        "email": "strib@alum.mit.edu",
        "time": "Sat Sep 09 12:00:17 2017 -0700"
      },
      "message": "plumbing: the commit walker can skip externally-seen commits\n\nWhen the revlist is computing the set of hashes needed to transfer, it\ndoesn\u0027t need to walk over commits it has already processed.  So, it\ncan instruct the commit walker not to walk those commits by passing in\nits own `seen` map.\n\nFor a 36K object repo, this brought the time for `revlist.Objects`\ndown from 50s to 30s.\n"
    },
    {
      "commit": "bb3217ce5d5ed682a5c830c40ea031d3c92a8a7e",
      "tree": "54d9fba4ad61a88db382d72fcecfc418130aee24",
      "parents": [
        "ee959a4f99b0ba130db952f2928209797d65b3f1",
        "86e75a59f4267636e9fa56323976bb805dc8fe31"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Sat Sep 09 17:36:55 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 09 17:36:55 2017 +0200"
      },
      "message": "Merge pull request #585 from src-d/doc/upd-linl\n\nexamples: update link to GoDoc in _examples/storage"
    },
    {
      "commit": "86e75a59f4267636e9fa56323976bb805dc8fe31",
      "tree": "54d9fba4ad61a88db382d72fcecfc418130aee24",
      "parents": [
        "ee959a4f99b0ba130db952f2928209797d65b3f1"
      ],
      "author": {
        "name": "Alexander",
        "email": "bzz@users.noreply.github.com",
        "time": "Sat Sep 09 14:22:48 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 09 14:22:48 2017 +0200"
      },
      "message": "Update README.md\n\nUpdate like to storage GoDoc"
    },
    {
      "commit": "ee959a4f99b0ba130db952f2928209797d65b3f1",
      "tree": "f5c4d095cf6708a838e371988415c15c913ae184",
      "parents": [
        "e34443b595ec386081981a39ed2064e9d5f272b5",
        "0debae11c26dca0e50a56f2b9a3b5e8cca99faac"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Fri Sep 08 12:01:08 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 08 12:01:08 2017 +0200"
      },
      "message": "Merge pull request #584 from erizocosmico/revert/revlist-no-revisit-ancestors\n\nrevert: revlist: do not revisit already visited ancestors"
    },
    {
      "commit": "0debae11c26dca0e50a56f2b9a3b5e8cca99faac",
      "tree": "f5c4d095cf6708a838e371988415c15c913ae184",
      "parents": [
        "e34443b595ec386081981a39ed2064e9d5f272b5"
      ],
      "author": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Fri Sep 08 11:09:41 2017 +0200"
      },
      "committer": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Fri Sep 08 11:09:41 2017 +0200"
      },
      "message": "revert: revlist: do not revisit already visited ancestors\n\nSigned-off-by: Miguel Molina \u003cmiguel@erizocosmi.co\u003e\n"
    },
    {
      "commit": "e34443b595ec386081981a39ed2064e9d5f272b5",
      "tree": "98a5bd999463155ddb5c68d1713c5f69659ef59e",
      "parents": [
        "e60f09b79497dda55c0cb1277168e1ce3d3631c3"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Sep 07 23:30:18 2017 +0200"
      },
      "committer": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Sep 07 23:30:18 2017 +0200"
      },
      "message": "plumbing/index: fix TestEncode in go 1.9\n"
    },
    {
      "commit": "e60f09b79497dda55c0cb1277168e1ce3d3631c3",
      "tree": "966648c6ea0610a6dcacf7cfe77eef18afe6cb33",
      "parents": [
        "43e5f5f432e06c0070b0b795209f564886363db4"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Sep 07 14:45:34 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 07 14:45:34 2017 +0200"
      },
      "message": "travis: remove tip and add 1.9"
    },
    {
      "commit": "43e5f5f432e06c0070b0b795209f564886363db4",
      "tree": "99157ca4e754ff6ade86dd323de5121db3aa97ac",
      "parents": [
        "046494368dafdbcc3db6a4aba59e45df38792c89",
        "6d486b4f996c8abffd3206590303d38381a3dca8"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Sep 07 14:25:53 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 07 14:25:53 2017 +0200"
      },
      "message": "Merge pull request #582 from erizocosmico/perf/deltas\n\npackfile: improve performance of delta generation"
    },
    {
      "commit": "6d486b4f996c8abffd3206590303d38381a3dca8",
      "tree": "174a34ac3da35cf72633c514c1f67aa50dfb4af9",
      "parents": [
        "90418e6ab682d1888dd7658a8ebd72a7be8cf502"
      ],
      "author": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Thu Sep 07 12:02:52 2017 +0200"
      },
      "committer": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Thu Sep 07 12:02:52 2017 +0200"
      },
      "message": "packfile: small optimizations for findMatch and matchLength\n\nSigned-off-by: Miguel Molina \u003cmiguel@erizocosmi.co\u003e\n"
    },
    {
      "commit": "046494368dafdbcc3db6a4aba59e45df38792c89",
      "tree": "0d654d4141bb14be6467188d59d20e5ee77d679c",
      "parents": [
        "2dc59a6925f47e9d1bc99dd64d86e37b79b65d11",
        "c3f5a838303c8919daefc1c45baba5e1c90d2dee"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Sep 07 11:44:40 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 07 11:44:40 2017 +0200"
      },
      "message": "Merge pull request #583 from matjam/matjam-1\n\nMinor fix to grammatical error in error message for ErrRepositoryNotExists"
    },
    {
      "commit": "90418e6ab682d1888dd7658a8ebd72a7be8cf502",
      "tree": "12c8fe4d2ec04400ac6f50b46184fb3cda94eb99",
      "parents": [
        "508a89726c9287b3fb5daac23b7957d4297bc42a"
      ],
      "author": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Thu Sep 07 10:02:29 2017 +0200"
      },
      "committer": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Thu Sep 07 10:58:47 2017 +0200"
      },
      "message": "packfile: parallelize deltification of objects in groups\n\nSigned-off-by: Miguel Molina \u003cmiguel@erizocosmi.co\u003e\n"
    },
    {
      "commit": "c3f5a838303c8919daefc1c45baba5e1c90d2dee",
      "tree": "0d654d4141bb14be6467188d59d20e5ee77d679c",
      "parents": [
        "2dc59a6925f47e9d1bc99dd64d86e37b79b65d11"
      ],
      "author": {
        "name": "Nathan Ollerenshaw",
        "email": "578676+matjam@users.noreply.github.com",
        "time": "Wed Sep 06 16:17:38 2017 -0700"
      },
      "committer": {
        "name": "Nathan Ollerenshaw",
        "email": "578676+matjam@users.noreply.github.com",
        "time": "Wed Sep 06 16:17:38 2017 -0700"
      },
      "message": "Minor fix to grammatical error in error message for ErrRepositoryNotExists.\n"
    },
    {
      "commit": "508a89726c9287b3fb5daac23b7957d4297bc42a",
      "tree": "7053b8568c08cdd5279af8f6afdbd46f9653b299",
      "parents": [
        "b953011e07002189f614a5c42f7bb28079558fdb"
      ],
      "author": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Wed Sep 06 18:14:55 2017 +0200"
      },
      "committer": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Wed Sep 06 18:14:55 2017 +0200"
      },
      "message": "packfile: use a modified version of JGit DeltaIndex and DeltaIndexScanner\n\nSigned-off-by: Miguel Molina \u003cmiguel@erizocosmi.co\u003e\n"
    },
    {
      "commit": "b953011e07002189f614a5c42f7bb28079558fdb",
      "tree": "24989548628d08ad273775188dce51b484a96300",
      "parents": [
        "0b68b0fd8e8a0f57419a72479ddeb8d267f15f72"
      ],
      "author": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Wed Sep 06 14:26:30 2017 +0200"
      },
      "committer": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Wed Sep 06 14:26:30 2017 +0200"
      },
      "message": "packfile: slightly haster hash function for chunk-offset index key\n\nSigned-off-by: Miguel Molina \u003cmiguel@erizocosmi.co\u003e\n"
    },
    {
      "commit": "0b68b0fd8e8a0f57419a72479ddeb8d267f15f72",
      "tree": "a6b49669163d3a0a1c85141513eeb52c3ee6561e",
      "parents": [
        "2dc59a6925f47e9d1bc99dd64d86e37b79b65d11"
      ],
      "author": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Wed Sep 06 12:13:41 2017 +0200"
      },
      "committer": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Wed Sep 06 12:13:41 2017 +0200"
      },
      "message": "packfile: reuse delta indexes when possible\n\nSigned-off-by: Miguel Molina \u003cmiguel@erizocosmi.co\u003e\n"
    },
    {
      "commit": "2dc59a6925f47e9d1bc99dd64d86e37b79b65d11",
      "tree": "aa1f9cd494f794f3e3db5c663f7165959c894498",
      "parents": [
        "f9a1c7a5a31a5d9836819b1469bbae76b5b0efef",
        "1c2fb310fbd3e08fddb43344c1473c27b154ef73"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Tue Sep 05 19:05:20 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 05 19:05:20 2017 +0200"
      },
      "message": "Merge pull request #580 from erizocosmico/perf/refs-iter-once\n\nremote: iterate over references only once"
    },
    {
      "commit": "1c2fb310fbd3e08fddb43344c1473c27b154ef73",
      "tree": "aa1f9cd494f794f3e3db5c663f7165959c894498",
      "parents": [
        "f9a1c7a5a31a5d9836819b1469bbae76b5b0efef"
      ],
      "author": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Tue Sep 05 17:32:16 2017 +0200"
      },
      "committer": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Tue Sep 05 17:32:16 2017 +0200"
      },
      "message": "remote: iterate over reference only once\n\nSigned-off-by: Miguel Molina \u003cmiguel@erizocosmi.co\u003e\n"
    },
    {
      "commit": "f9a1c7a5a31a5d9836819b1469bbae76b5b0efef",
      "tree": "5cd78a93f7ccf3fd7afad54431f453f2d83f50b0",
      "parents": [
        "a33a60d244f94a07adeb70cfe938c97651c0ddc9",
        "bda82e27d855946096eded7cf0220c70f276e706"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Tue Sep 05 14:13:18 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 05 14:13:18 2017 +0200"
      },
      "message": "Merge pull request #579 from erizocosmico/perf/revlist-no-revisit-ancestors\n\nrevlist: do not visit again already visited parents"
    },
    {
      "commit": "bda82e27d855946096eded7cf0220c70f276e706",
      "tree": "0c87541ebd9214705c68bd20804db47daeafd2e8",
      "parents": [
        "f9879dd043f84936a1f8acb8a53b74332a7ae135"
      ],
      "author": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Tue Sep 05 11:47:00 2017 +0200"
      },
      "committer": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Tue Sep 05 11:47:00 2017 +0200"
      },
      "message": "revlist: do not visit again already visited parents\n\nSigned-off-by: Miguel Molina \u003cmiguel@erizocosmi.co\u003e\n"
    },
    {
      "commit": "a33a60d244f94a07adeb70cfe938c97651c0ddc9",
      "tree": "d8d1f4f009951bc84162c646d9a86084e01eb5ed",
      "parents": [
        "f9879dd043f84936a1f8acb8a53b74332a7ae135"
      ],
      "author": {
        "name": "grunenwflorian",
        "email": "florian.grunenwald1@gmail.com",
        "time": "Tue Sep 05 11:28:36 2017 +0200"
      },
      "committer": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Tue Sep 05 11:28:36 2017 +0200"
      },
      "message": "Worktree.Add: Support Add deleted files, fixes #571 (#577)\n\n"
    },
    {
      "commit": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
      "tree": "13283ed091249f601ceacd7c64a3467c5f4eac78",
      "parents": [
        "770800d980ba7e0af40502324d15ed50445a3291",
        "6a46a7eb543789c7012bf0f964e1b6b38eca150c"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Mon Sep 04 19:43:36 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 04 19:43:36 2017 +0200"
      },
      "message": "Merge pull request #578 from erizocosmico/perf/reduce-gc-press\n\npackfile: improve performance a little by reducing gc pressure"
    },
    {
      "commit": "6a46a7eb543789c7012bf0f964e1b6b38eca150c",
      "tree": "13283ed091249f601ceacd7c64a3467c5f4eac78",
      "parents": [
        "770800d980ba7e0af40502324d15ed50445a3291"
      ],
      "author": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Mon Sep 04 18:23:26 2017 +0200"
      },
      "committer": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Mon Sep 04 18:23:26 2017 +0200"
      },
      "message": "packfile: improve performance a little by reducing gc pressure\n\nSigned-off-by: Miguel Molina \u003cmiguel@erizocosmi.co\u003e\n"
    },
    {
      "commit": "770800d980ba7e0af40502324d15ed50445a3291",
      "tree": "2a6300e33f07f54cb1f7756100386430215a11d7",
      "parents": [
        "c20028f6a4d0038d59898392aafe13baa9e84040",
        "7cdc44306dd1b3bba4a219bf3c40c5097a505a8e"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Mon Sep 04 16:00:38 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 04 16:00:38 2017 +0200"
      },
      "message": "Merge pull request #576 from mcuadros/clone-tags\n\nRepository.Clone added Tags option, and set by default AllTags "
    },
    {
      "commit": "7cdc44306dd1b3bba4a219bf3c40c5097a505a8e",
      "tree": "2a6300e33f07f54cb1f7756100386430215a11d7",
      "parents": [
        "38b9d5711a0d8156a5b5b1e5dd9972558b1389a7"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Mon Sep 04 13:54:02 2017 +0200"
      },
      "committer": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Mon Sep 04 13:54:02 2017 +0200"
      },
      "message": "Repository.Clone added Tags option, and set by default AllTags as git does\n"
    },
    {
      "commit": "38b9d5711a0d8156a5b5b1e5dd9972558b1389a7",
      "tree": "6f06300b57c4d6d11b1c5d3b2b01d6f6c8737634",
      "parents": [
        "c20028f6a4d0038d59898392aafe13baa9e84040"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Mon Sep 04 13:53:55 2017 +0200"
      },
      "committer": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Mon Sep 04 13:53:55 2017 +0200"
      },
      "message": "Remote.Fetch Tags logic improvement and fix NoTags\n"
    },
    {
      "commit": "c20028f6a4d0038d59898392aafe13baa9e84040",
      "tree": "49407f8b3b5aaef1c6a56363bdb1fc25cd56f5cb",
      "parents": [
        "8ce9f5f240730ce21f50e42409d17fac7d71e051",
        "76efca13092ba245caf15f232f467e68fa1f73ed"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Fri Sep 01 17:28:42 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 01 17:28:42 2017 +0200"
      },
      "message": "Merge pull request #573 from orirawlings/pushSideband\n\nAdd sideband support for push"
    },
    {
      "commit": "8ce9f5f240730ce21f50e42409d17fac7d71e051",
      "tree": "1922e3a721c4c19889557f96108076c325b95fbd",
      "parents": [
        "3ca370277427c5d508f0dedacbd559523a305121",
        "f1e58e0d30095cf768ff04d379b5e4145a874be8"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Fri Sep 01 17:27:54 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 01 17:27:54 2017 +0200"
      },
      "message": "Merge pull request #572 from mcuadros/reset\n\nWorktree.Reset refactor and Soft, Merge, Hard and Mixed modes"
    },
    {
      "commit": "f1e58e0d30095cf768ff04d379b5e4145a874be8",
      "tree": "1922e3a721c4c19889557f96108076c325b95fbd",
      "parents": [
        "3ca370277427c5d508f0dedacbd559523a305121"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Fri Sep 01 17:26:52 2017 +0200"
      },
      "committer": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Fri Sep 01 17:26:52 2017 +0200"
      },
      "message": "Worktree.Reset ignore untracked files on Merge mode\n"
    },
    {
      "commit": "76efca13092ba245caf15f232f467e68fa1f73ed",
      "tree": "e94ed3536e5af8d9201e83de9a7011ab5ac37dad",
      "parents": [
        "3ca370277427c5d508f0dedacbd559523a305121"
      ],
      "author": {
        "name": "Ori Rawlings",
        "email": "orirawlings@gmail.com",
        "time": "Wed Aug 23 21:37:49 2017 -0500"
      },
      "committer": {
        "name": "Ori Rawlings",
        "email": "orirawlings@gmail.com",
        "time": "Fri Sep 01 09:17:23 2017 -0500"
      },
      "message": "Add sideband support for push\n"
    },
    {
      "commit": "3ca370277427c5d508f0dedacbd559523a305121",
      "tree": "da025649dc74a777421ea8d05dcedca20c60485b",
      "parents": [
        "7aa9d15d395282144f31a09c0fac230da3f65360",
        "51e25dde71feb355eb32f4d2208a0ae4cb5e9244"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Tue Aug 29 13:25:53 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 29 13:25:53 2017 +0200"
      },
      "message": "Merge pull request #569 from erizocosmico/fix/race-condition-dotgit-refs\n\ndotgit: avoid duplicated references returned by Refs"
    },
    {
      "commit": "51e25dde71feb355eb32f4d2208a0ae4cb5e9244",
      "tree": "da025649dc74a777421ea8d05dcedca20c60485b",
      "parents": [
        "7aa9d15d395282144f31a09c0fac230da3f65360"
      ],
      "author": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Tue Aug 29 12:42:12 2017 +0200"
      },
      "committer": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Tue Aug 29 12:42:12 2017 +0200"
      },
      "message": "dotgit: avoid duplicated references returned by Refs\n\nSigned-off-by: Miguel Molina \u003cmiguel@erizocosmi.co\u003e\n"
    },
    {
      "commit": "7aa9d15d395282144f31a09c0fac230da3f65360",
      "tree": "54675ba97a4b813e38630195e821b93553543098",
      "parents": [
        "cb3272280ba9cbe8a3961e9244170129eb9a246b",
        "467cb2aaa00ac30a8d2b5cc5b93951dad917ceb4"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Mon Aug 28 20:38:58 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 28 20:38:58 2017 +0200"
      },
      "message": "Merge pull request #567 from strib/avoid-revlist-when-deleting\n\nremote: avoid expensive revlist operation when only deleting refs"
    },
    {
      "commit": "cb3272280ba9cbe8a3961e9244170129eb9a246b",
      "tree": "ad4f316055152375d333e0acba65e491936f7c1a",
      "parents": [
        "bff1d06e40f70566a779880b2edeb53ad1930609",
        "cdddb7a38b448f999a54e4e4ef14b5c62c198676"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Mon Aug 28 20:38:18 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 28 20:38:18 2017 +0200"
      },
      "message": "Merge pull request #565 from strib/delta-sliding-window\n\nplumbing: use sliding window in delta calculations, like git CL"
    },
    {
      "commit": "467cb2aaa00ac30a8d2b5cc5b93951dad917ceb4",
      "tree": "a50a72a64c3a48ca47778a9579c29a3c94039caf",
      "parents": [
        "bff1d06e40f70566a779880b2edeb53ad1930609"
      ],
      "author": {
        "name": "Jeremy Stribling",
        "email": "strib@alum.mit.edu",
        "time": "Sun Aug 27 09:51:33 2017 -0700"
      },
      "committer": {
        "name": "Jeremy Stribling",
        "email": "strib@alum.mit.edu",
        "time": "Mon Aug 28 11:29:08 2017 -0700"
      },
      "message": "remote: avoid expensive revlist operation when only deleting refs\n"
    },
    {
      "commit": "cdddb7a38b448f999a54e4e4ef14b5c62c198676",
      "tree": "ad4f316055152375d333e0acba65e491936f7c1a",
      "parents": [
        "bff1d06e40f70566a779880b2edeb53ad1930609"
      ],
      "author": {
        "name": "Jeremy Stribling",
        "email": "strib@alum.mit.edu",
        "time": "Fri Aug 25 16:26:04 2017 -0700"
      },
      "committer": {
        "name": "Jeremy Stribling",
        "email": "strib@alum.mit.edu",
        "time": "Mon Aug 28 10:10:16 2017 -0700"
      },
      "message": "plumbing: use sliding window in delta calculations, like git CL\n\nThis sets a default sliding window of 10 for the delta calculation,\njust like git CL:\nhttps://git-scm.com/docs/git-pack-objects#git-pack-objects---windowltngt\n\nFor a big-ish repo with 35K objects (17K commits), this reduced the\ntime for calling `deltaSelection.walk` during a push from more than 14\nminutes to about a minute.\n"
    },
    {
      "commit": "bff1d06e40f70566a779880b2edeb53ad1930609",
      "tree": "5c221fb52f4bf4b99543a0183f19b4c28f05f6b8",
      "parents": [
        "96286b0a0a051bd4f55d625c64ca239978908d5d",
        "aad08e631b47fb9590a5102159794db42ac4dade"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Mon Aug 28 09:46:38 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 28 09:46:38 2017 +0200"
      },
      "message": "Merge pull request #554 from strib/strib/fix-win-cmd-lookup\n\nplumbing: use LookPath instead of Stat to fix Windows executables"
    },
    {
      "commit": "96286b0a0a051bd4f55d625c64ca239978908d5d",
      "tree": "1fecddbe0c384ab077e5588321362a672f0e9fc4",
      "parents": [
        "631a45f55b397090ad7d817a3c72041cfc3729f3",
        "d68f45f8aaca461167907c07e8c161be14e87157"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Mon Aug 28 09:44:08 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 28 09:44:08 2017 +0200"
      },
      "message": "Merge pull request #564 from strib/tree-walker-use-seen-cache\n\nplumbing: use `seen` map in tree walker"
    },
    {
      "commit": "aad08e631b47fb9590a5102159794db42ac4dade",
      "tree": "267de84ef91b276284ba1ec2bef96e3f0885a0c2",
      "parents": [
        "631a45f55b397090ad7d817a3c72041cfc3729f3"
      ],
      "author": {
        "name": "Jeremy Stribling",
        "email": "strib@alum.mit.edu",
        "time": "Mon Aug 21 17:07:01 2017 -0700"
      },
      "committer": {
        "name": "Jeremy Stribling",
        "email": "strib@alum.mit.edu",
        "time": "Sun Aug 27 17:25:16 2017 -0700"
      },
      "message": "plumbing: use LookPath instead of Stat to fix Windows executables\n\nWhen git-core isn\u0027t in the user\u0027s PATH, we need to use `LookPath` to\nverify the existence of the executable, rather than `os.Stat`, so that\non Windows it will search for files with executable suffixes.\n"
    },
    {
      "commit": "d68f45f8aaca461167907c07e8c161be14e87157",
      "tree": "1fecddbe0c384ab077e5588321362a672f0e9fc4",
      "parents": [
        "631a45f55b397090ad7d817a3c72041cfc3729f3"
      ],
      "author": {
        "name": "Jeremy Stribling",
        "email": "strib@alum.mit.edu",
        "time": "Fri Aug 25 13:52:07 2017 -0700"
      },
      "committer": {
        "name": "Jeremy Stribling",
        "email": "strib@alum.mit.edu",
        "time": "Sun Aug 27 17:14:49 2017 -0700"
      },
      "message": "plumbing: use `seen` map in tree walker\n\nThis helps avoids iterating down the same trees for every commit.  For\na big-ish repo with 35K objects (17K commits), this reduced the time\nfor calling `revlist.Objects` during a push (with 0 hashes to ignore)\nfrom more than ten minutes to less than a minute.\n"
    },
    {
      "commit": "631a45f55b397090ad7d817a3c72041cfc3729f3",
      "tree": "955d20a91cc0b4753f9b7aedc7517601a9b51228",
      "parents": [
        "334923a20db4c8bd89e6197f99051839eac1731b",
        "17cde59e5ced61adece4741b3a4da947f08fd9dc"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Sun Aug 27 23:51:24 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 27 23:51:24 2017 +0200"
      },
      "message": "Merge pull request #558 from orirawlings/cloneAnnotatedTag\n\nrepository: Resolve commit when cloning annotated tag, fixes #557"
    },
    {
      "commit": "334923a20db4c8bd89e6197f99051839eac1731b",
      "tree": "5d9090784e6761497cc16b715d646b0547c4cc24",
      "parents": [
        "2f58c82181c30a9d9090173601660d88fba06958",
        "5a7b7af0f793b1c25e9543e8511b767f3b739d67"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Sun Aug 27 23:50:33 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 27 23:50:33 2017 +0200"
      },
      "message": "Merge pull request #563 from erizocosmico/perf/dotgit-ref-cache\n\ndotgit: rewrite the way references are looked up"
    },
    {
      "commit": "5a7b7af0f793b1c25e9543e8511b767f3b739d67",
      "tree": "a6841928d57a89d440a6d5b0683501c40a15d82d",
      "parents": [
        "6f3b2d878d2f84f513c9dc08b000f653ea83f690"
      ],
      "author": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Thu Aug 24 17:35:38 2017 +0200"
      },
      "committer": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Sat Aug 26 18:53:01 2017 +0200"
      },
      "message": "dotgit: rewrite the way references are looked up\nNow there\u0027s only two ways of getting a reference, by checking under refs/ directory or in packed-refs. refs/ directory is checked using a direct read by reference name and packed refs are cached until they have been changed.\n\nSigned-off-by: Miguel Molina \u003cmiguel@erizocosmi.co\u003e\n"
    },
    {
      "commit": "17cde59e5ced61adece4741b3a4da947f08fd9dc",
      "tree": "1140da6b43be938260f6ee7206303de2604e1ce5",
      "parents": [
        "2f58c82181c30a9d9090173601660d88fba06958"
      ],
      "author": {
        "name": "Ori Rawlings",
        "email": "orirawlings@gmail.com",
        "time": "Wed Aug 23 22:39:25 2017 -0500"
      },
      "committer": {
        "name": "Ori Rawlings",
        "email": "orirawlings@gmail.com",
        "time": "Thu Aug 24 21:33:26 2017 -0500"
      },
      "message": "repository: Resolve commit when cloning annotated tag, fixes #557\n"
    },
    {
      "commit": "2f58c82181c30a9d9090173601660d88fba06958",
      "tree": "6425191b93f43f4205eb79246400b053361003ee",
      "parents": [
        "6f3b2d878d2f84f513c9dc08b000f653ea83f690"
      ],
      "author": {
        "name": "Zach Gershman",
        "email": "zachgersh@users.noreply.github.com",
        "time": "Thu Aug 24 14:42:08 2017 -0700"
      },
      "committer": {
        "name": "Ori Rawlings",
        "email": "orirawlings@gmail.com",
        "time": "Thu Aug 24 16:59:29 2017 -0500"
      },
      "message": "grammar correction\n\n*stopped instead of stop"
    },
    {
      "commit": "6f3b2d878d2f84f513c9dc08b000f653ea83f690",
      "tree": "4e2b9171b64cae785a58c3f71a2f4b00d65c3b7a",
      "parents": [
        "bd81c1f3b5ba3ea22243b8e49ab56dd07a6484d6",
        "fc560b8c758d064b9f189cfd89b5f6aa3f82872d"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Tue Aug 22 16:49:38 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 22 16:49:38 2017 +0200"
      },
      "message": "Merge pull request #555 from mcuadros/ctx-example\n\n_examples: context"
    },
    {
      "commit": "fc560b8c758d064b9f189cfd89b5f6aa3f82872d",
      "tree": "4e2b9171b64cae785a58c3f71a2f4b00d65c3b7a",
      "parents": [
        "bd81c1f3b5ba3ea22243b8e49ab56dd07a6484d6"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Tue Aug 22 16:48:35 2017 +0200"
      },
      "committer": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Tue Aug 22 16:48:35 2017 +0200"
      },
      "message": "_examples: context\n"
    },
    {
      "commit": "bd81c1f3b5ba3ea22243b8e49ab56dd07a6484d6",
      "tree": "9fb757cf0e7e748ad58db21f69a93e966b249b9e",
      "parents": [
        "118a8c732202ccdfe682d72bc1a6f79e35d71dd7",
        "af398e5e724a467f59949db0ea7803607f5858b5"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Sat Aug 19 12:29:19 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 19 12:29:19 2017 +0200"
      },
      "message": "Merge pull request #552 from mcarmonaa/fix/packp-adv-refs-encode\n\npackp: fixed encoding when HEAD is not a valid ref"
    },
    {
      "commit": "af398e5e724a467f59949db0ea7803607f5858b5",
      "tree": "9fb757cf0e7e748ad58db21f69a93e966b249b9e",
      "parents": [
        "118a8c732202ccdfe682d72bc1a6f79e35d71dd7"
      ],
      "author": {
        "name": "Manuel Carmona",
        "email": "manu.carmona90@gmail.com",
        "time": "Fri Aug 18 10:59:57 2017 +0200"
      },
      "committer": {
        "name": "Manuel Carmona",
        "email": "manu.carmona90@gmail.com",
        "time": "Fri Aug 18 11:04:07 2017 +0200"
      },
      "message": "packp: fixed encoding when HEAD is not a valid ref\n"
    },
    {
      "commit": "118a8c732202ccdfe682d72bc1a6f79e35d71dd7",
      "tree": "db447922d38f526ac7c8fe65ecf9e26fa59a07ab",
      "parents": [
        "b51e316bf61ff1b9e83486f2010854fb9089d9dc",
        "5ed7c5ca0320fdb300a7e409d82dfb21022fab39"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Mon Aug 14 09:29:14 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 14 09:29:14 2017 +0200"
      },
      "message": "Merge pull request #546 from orirawlings/pullExample\n\nexamples: add example for pulling changes"
    },
    {
      "commit": "5ed7c5ca0320fdb300a7e409d82dfb21022fab39",
      "tree": "db447922d38f526ac7c8fe65ecf9e26fa59a07ab",
      "parents": [
        "b51e316bf61ff1b9e83486f2010854fb9089d9dc"
      ],
      "author": {
        "name": "Ori Rawlings",
        "email": "orirawlings@gmail.com",
        "time": "Sun Aug 13 20:41:51 2017 -0500"
      },
      "committer": {
        "name": "Ori Rawlings",
        "email": "orirawlings@gmail.com",
        "time": "Sun Aug 13 20:42:23 2017 -0500"
      },
      "message": "Add example for pulling changes\n"
    },
    {
      "commit": "b51e316bf61ff1b9e83486f2010854fb9089d9dc",
      "tree": "1689d6c0fdbdad5a1e804b293eba0bdae9fb1a7e",
      "parents": [
        "773841734e11f0f607f6b047235f8527d475538f",
        "3fd398852745b218e4346a38c98d95e5e773751d"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Sat Aug 12 14:37:46 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 12 14:37:46 2017 +0200"
      },
      "message": "Merge pull request #544 from erizocosmico/fix/race-condition-object-lru\n\nfix race condition on ObjectLRU"
    },
    {
      "commit": "3fd398852745b218e4346a38c98d95e5e773751d",
      "tree": "1689d6c0fdbdad5a1e804b293eba0bdae9fb1a7e",
      "parents": [
        "773841734e11f0f607f6b047235f8527d475538f"
      ],
      "author": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Fri Aug 11 13:21:14 2017 +0200"
      },
      "committer": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Fri Aug 11 14:29:52 2017 +0200"
      },
      "message": "fix race condition on ObjectLRU\n\nSigned-off-by: Miguel Molina \u003cmiguel@erizocosmi.co\u003e\n"
    },
    {
      "commit": "773841734e11f0f607f6b047235f8527d475538f",
      "tree": "6b437c0b94fa92cb88207eed2bcd04ac397e07bd",
      "parents": [
        "91868d15053f29fa93c1984c7cf9bd961b6ab13d",
        "94f43de99c66883bd930fce9581971b3893da610"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Aug 10 14:17:56 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 10 14:17:56 2017 +0200"
      },
      "message": "Merge pull request #543 from erizocosmico/fix/packwriter-unused-notify\n\nprevent PackWriter from using Notify if nothing was written"
    },
    {
      "commit": "94f43de99c66883bd930fce9581971b3893da610",
      "tree": "6b437c0b94fa92cb88207eed2bcd04ac397e07bd",
      "parents": [
        "91868d15053f29fa93c1984c7cf9bd961b6ab13d"
      ],
      "author": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Thu Aug 10 13:15:41 2017 +0200"
      },
      "committer": {
        "name": "Miguel Molina",
        "email": "miguel@erizocosmi.co",
        "time": "Thu Aug 10 13:15:41 2017 +0200"
      },
      "message": "prevent PackWriter from using Notify if nothing was written\n\nSigned-off-by: Miguel Molina \u003cmiguel@erizocosmi.co\u003e\n"
    },
    {
      "commit": "91868d15053f29fa93c1984c7cf9bd961b6ab13d",
      "tree": "796e929d1b2fe8b0f924e3f8ad3b6bf8f19513e3",
      "parents": [
        "ffa72cf8cc8fa13d65bd29738f08d8e54db1333d"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Aug 10 12:15:21 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 10 12:15:21 2017 +0200"
      },
      "message": "README.md: added appveyor"
    },
    {
      "commit": "ffa72cf8cc8fa13d65bd29738f08d8e54db1333d",
      "tree": "16da383f4baf3a4911cd86814a70217d894ba0d4",
      "parents": [
        "b525e63088c100c68ce03e910c7dfb0b839626a4",
        "7538ff86dc3841c9da5e0041a2b834feaeb3c10d"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Aug 10 12:10:42 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 10 12:10:42 2017 +0200"
      },
      "message": "Merge pull request #540 from mcarmonaa/fix/git-transport-windows-test\n\n*: windows support, skipped receive_pack_test for git transport"
    },
    {
      "commit": "7538ff86dc3841c9da5e0041a2b834feaeb3c10d",
      "tree": "bef279fbad51b592d7f9a872fcb43373b6d4b47e",
      "parents": [
        "da410ded51ddab7729992540b54c739e43090244"
      ],
      "author": {
        "name": "Manuel Carmona",
        "email": "manu.carmona90@gmail.com",
        "time": "Thu Aug 10 08:17:50 2017 +0200"
      },
      "committer": {
        "name": "Manuel Carmona",
        "email": "manu.carmona90@gmail.com",
        "time": "Thu Aug 10 12:07:50 2017 +0200"
      },
      "message": "skipped receive_pack_test for git transport in windows\n"
    },
    {
      "commit": "b525e63088c100c68ce03e910c7dfb0b839626a4",
      "tree": "6de6a54c5dbda307b47e51dd462951a1ddb725b0",
      "parents": [
        "a2b4a32505535b46e8daa185cbd4c7703678c936",
        "e9aca1407200b5243bf15d9c8d02241a0492d588"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Aug 10 11:34:15 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 10 11:34:15 2017 +0200"
      },
      "message": "Merge pull request #538 from kimh/user-current-crosscompile-error\n\nAvoid using user.Current()"
    },
    {
      "commit": "a2b4a32505535b46e8daa185cbd4c7703678c936",
      "tree": "55831dd4b0ce3e16fe1717a5033c7dfdc4ad1888",
      "parents": [
        "da410ded51ddab7729992540b54c739e43090244",
        "0f8ed5664c38605fbb849017214cebbf5de50666"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Aug 10 11:26:45 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 10 11:26:45 2017 +0200"
      },
      "message": "Merge pull request #542 from mcarmonaa/fix/config-marhal\n\nserialized remotes in alphabetical order"
    },
    {
      "commit": "0f8ed5664c38605fbb849017214cebbf5de50666",
      "tree": "55831dd4b0ce3e16fe1717a5033c7dfdc4ad1888",
      "parents": [
        "da410ded51ddab7729992540b54c739e43090244"
      ],
      "author": {
        "name": "Manuel Carmona",
        "email": "manu.carmona90@gmail.com",
        "time": "Thu Aug 10 09:34:47 2017 +0200"
      },
      "committer": {
        "name": "Manuel Carmona",
        "email": "manu.carmona90@gmail.com",
        "time": "Thu Aug 10 09:34:47 2017 +0200"
      },
      "message": "serialized remotes in alphabetical order\n"
    },
    {
      "commit": "e9aca1407200b5243bf15d9c8d02241a0492d588",
      "tree": "7f43d146edb6203b29c4a75461ea0ffca4680e27",
      "parents": [
        "da410ded51ddab7729992540b54c739e43090244"
      ],
      "author": {
        "name": "Kim, Hirokuni",
        "email": "yangkookkim@gmail.com",
        "time": "Tue Aug 08 00:19:01 2017 +0900"
      },
      "committer": {
        "name": "Kim, Hirokuni",
        "email": "yangkookkim@gmail.com",
        "time": "Tue Aug 08 00:19:01 2017 +0900"
      },
      "message": "Avoid using user.Current()\n\nuser.Current() causes \u0027Current not implemented\u0027 error when\ncrosscompiled. See https://github.com/golang/go/issues/6376\n"
    },
    {
      "commit": "da410ded51ddab7729992540b54c739e43090244",
      "tree": "5754962d1152781a718083c1aba015d08ebbb24b",
      "parents": [
        "80421da9614ad81c7d1d45d48c0f291654070c54"
      ],
      "author": {
        "name": "Manuel Carmona",
        "email": "manu.carmona90@gmail.com",
        "time": "Mon Aug 07 12:11:00 2017 +0200"
      },
      "committer": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Mon Aug 07 12:11:00 2017 +0200"
      },
      "message": "*: windows support, some more fixes (2) (#536)\n\n* fixed windows failed test: \"143 FAIL: worktree_test.go:314: WorktreeSuite.TestFilenameNormalization\"\r\n\r\n* fixed windows failed test: \"489: FAIL: auth_method_test.go:106: SuiteCommon.TestNewSSHAgentAuthNoAgent\"\r\n\r\n* fixed windows failed test: \"279 FAIL: server_test.go:50: ServerSuite.TestClone\"\r\n\r\nfixed windows failed test: \"298 FAIL: server_test.go:37: ServerSuite.TestPush\"\r\n\r\n* fixed windows failed test: \"316 FAIL: \u003cautogenerated\u003e:26: UploadPackSuite.TearDownSuite\"\r\n\r\n* fixed windows failed test: \"FAIL: \u003cautogenerated\u003e:6: IndexSuite.TearDownSuite\"\r\n"
    },
    {
      "commit": "80421da9614ad81c7d1d45d48c0f291654070c54",
      "tree": "03b42b800892604901945ed3c1a90d821eae765c",
      "parents": [
        "b29ccd9cf64cb3c6d7b3fdc6649d97416f3be734",
        "c128f5d680f59fd125cafd90f10e39eae5f3a135"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Fri Aug 04 10:54:18 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 04 10:54:18 2017 +0200"
      },
      "message": "Merge pull request #527 from strib/win-pack-cmds\n\nplumbing: fix pack commands for the file client on Windows"
    },
    {
      "commit": "c128f5d680f59fd125cafd90f10e39eae5f3a135",
      "tree": "234a5da875d8c01dbd7e5ebe06ab8fc845cf8100",
      "parents": [
        "63b30fba572b7e70833fae4785c6d22f167c6641"
      ],
      "author": {
        "name": "Jeremy Stribling",
        "email": "strib@keyba.se",
        "time": "Mon Jul 31 15:34:45 2017 -0700"
      },
      "committer": {
        "name": "Jeremy Stribling",
        "email": "strib@alum.mit.edu",
        "time": "Thu Aug 03 10:46:03 2017 -0700"
      },
      "message": "plumbing: fix pack commands for the file client on Windows\n\nThe default git install on Windows doesn\u0027t come with commands for\nreceive-pack and upload-pack in the default $PATH.  Instead, use\n--exec-path to find pack executables in that case.\n"
    },
    {
      "commit": "b29ccd9cf64cb3c6d7b3fdc6649d97416f3be734",
      "tree": "387355a75b7ffa6673a528c8c9bb543144450e97",
      "parents": [
        "3713791015259f9e32cfe5fee76f9c99fc43fffd"
      ],
      "author": {
        "name": "Manuel Carmona",
        "email": "manu.carmona90@gmail.com",
        "time": "Thu Aug 03 09:41:22 2017 +0200"
      },
      "committer": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Aug 03 09:41:22 2017 +0200"
      },
      "message": "*: windows support, some more fixes (#533)\n\n* fixed windows failed test: \"134 FAIL: repository_test.go:340: RepositorySuite.TestPlainOpenBareRelativeGitDirFileTrailingGarbage\"\r\n\r\n* fixed windows failed test: \"143 FAIL: worktree_test.go:367: WorktreeSuite.TestCheckoutIndexOS\"\r\n\r\n* fixed windows failed test: \"296 FAIL: receive_pack_test.go:36: ReceivePackSuite.TearDownTest\"\r\n\r\n* fixed windows failed test: \"152 FAIL: worktree_test.go:278: WorktreeSuite.TestCheckoutSymlink\"\r\n"
    },
    {
      "commit": "3713791015259f9e32cfe5fee76f9c99fc43fffd",
      "tree": "d6b9a7b601dfbf16af7193aa22cfc849409ec4f7",
      "parents": [
        "a0885c5fe132f109aeb7b09aa69ab138952961a6",
        "5c1a2ec798eb9b78d66b16fbbcbdc3b928d8b496"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Wed Aug 02 17:45:41 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 02 17:45:41 2017 +0200"
      },
      "message": "Merge pull request #526 from joshbetz/fix/filename-form\n\nNormalize filenames before comparing."
    },
    {
      "commit": "5c1a2ec798eb9b78d66b16fbbcbdc3b928d8b496",
      "tree": "feffccfd77ef26c77a33fd7d734262c812253e9a",
      "parents": [
        "27b67a493d3b0a4f15252b77b546115c00ad2226"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Wed Aug 02 17:28:02 2017 +0200"
      },
      "committer": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Wed Aug 02 17:28:02 2017 +0200"
      },
      "message": "worktree: normalized string comparison tests\n"
    },
    {
      "commit": "a0885c5fe132f109aeb7b09aa69ab138952961a6",
      "tree": "46d8f90bf72935e5226fe5ea57063928588a34b3",
      "parents": [
        "902347aef9a7cd618c48e3baa1121b72e2beab68",
        "595de2b38d0cee2e0bc92e1a0559f16ccca851dc"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Wed Aug 02 16:36:32 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 02 16:36:32 2017 +0200"
      },
      "message": "Merge pull request #532 from mcuadros/fix-shallo\n\nRemote.Clone fix clone of tags in shallow mode"
    },
    {
      "commit": "595de2b38d0cee2e0bc92e1a0559f16ccca851dc",
      "tree": "46d8f90bf72935e5226fe5ea57063928588a34b3",
      "parents": [
        "902347aef9a7cd618c48e3baa1121b72e2beab68"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Wed Aug 02 14:26:58 2017 +0200"
      },
      "committer": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Wed Aug 02 14:26:58 2017 +0200"
      },
      "message": "Remote.Clone fix clone of tags in shallow mode\n"
    },
    {
      "commit": "902347aef9a7cd618c48e3baa1121b72e2beab68",
      "tree": "b81859d6dfa3c580191a2ad60bc1b7d80a36991a",
      "parents": [
        "9befb514d83e22268d00ab2c0fdd797b3742f0e9",
        "ab655650034b2acf36ce0237acaaf28b5d2572c0"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Wed Aug 02 13:42:19 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 02 13:42:19 2017 +0200"
      },
      "message": "Merge pull request #531 from mcuadros/ref-name\n\nplumbing: moved `Reference.Is*` methods to `ReferenceName.Is*`"
    },
    {
      "commit": "ab655650034b2acf36ce0237acaaf28b5d2572c0",
      "tree": "c6d277c2650712726445c6cb15c47ffa63676263",
      "parents": [
        "171b3a73e7ab7015f9eb8e98965e36dfb8ea9599"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Wed Aug 02 13:13:46 2017 +0200"
      },
      "committer": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Wed Aug 02 13:13:46 2017 +0200"
      },
      "message": "*: use the new API for ReferenceName.Is* methods\n"
    },
    {
      "commit": "171b3a73e7ab7015f9eb8e98965e36dfb8ea9599",
      "tree": "4cfecae09aa5f2193da7c9e2710a08ceb1720cd0",
      "parents": [
        "8ddbecf782c2e340fd85bb4ba4d00dc73d749f87"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Wed Aug 02 13:00:31 2017 +0200"
      },
      "committer": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Wed Aug 02 13:00:31 2017 +0200"
      },
      "message": "plumbing: moved `Reference.Is*` methods to `ReferenceName.Is*`\n"
    },
    {
      "commit": "9befb514d83e22268d00ab2c0fdd797b3742f0e9",
      "tree": "923a78009cce4531912b92e1b756a6a8f3ee6d32",
      "parents": [
        "91cdedae7faffca0a707fa47780efafe157ba47c",
        "e5c6fa237776870483cbe227d7f7ea943f35cb12"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Wed Aug 02 08:12:44 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 02 08:12:44 2017 +0200"
      },
      "message": "Merge pull request #501 from smola/config-multiple-urls\n\nconfig: multiple values in RemoteConfig (URLs and Fetch)"
    },
    {
      "commit": "e5c6fa237776870483cbe227d7f7ea943f35cb12",
      "tree": "d8708626c6e4bdacdf3d3b796a17025908b6606b",
      "parents": [
        "1e70916ca7e4d5c0ad00edbfd1877e06d7587fc6"
      ],
      "author": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Thu Jul 27 17:17:34 2017 +0200"
      },
      "committer": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Tue Aug 01 13:01:59 2017 +0200"
      },
      "message": "config: preserve option order on config marshalling\n\nDo not change order of options (e.g. in RemoteConfig)\nwhen serializing for any option whose value has not changed.\n"
    },
    {
      "commit": "1e70916ca7e4d5c0ad00edbfd1877e06d7587fc6",
      "tree": "2221ddc6b599ae042b4ee371a6e4b2cad08fbff6",
      "parents": [
        "9488c59834f6a2591910b7b360721cec2c16c548"
      ],
      "author": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Thu Jul 27 17:16:34 2017 +0200"
      },
      "committer": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Tue Aug 01 13:01:59 2017 +0200"
      },
      "message": "format/config: add GoString\n\nThis is more convenient for testing and debugging.\n"
    },
    {
      "commit": "9488c59834f6a2591910b7b360721cec2c16c548",
      "tree": "fea051f6cf08a62aad12e32b2240aa837be22628",
      "parents": [
        "7b08a3005480a50f0f4290aff8f3702085d5e30d"
      ],
      "author": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Mon Jul 24 10:51:01 2017 +0200"
      },
      "committer": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Tue Aug 01 13:01:54 2017 +0200"
      },
      "message": "config: multiple values in RemoteConfig (URLs and Fetch)\n\n* Change `URL string` to `URL []string` in `RemoteConfig`, since\n  git allows multiple URLs per remote. See:\n  http://marc.info/?l\u003dgit\u0026m\u003d116231242118202\u0026w\u003d2\n\n* Fix marshalling of multiple fetch refspecs.\n"
    },
    {
      "commit": "27b67a493d3b0a4f15252b77b546115c00ad2226",
      "tree": "e540a6f545458bca1b9d9d2fbabb9cffd7bca8e4",
      "parents": [
        "91cdedae7faffca0a707fa47780efafe157ba47c"
      ],
      "author": {
        "name": "Josh Betz",
        "email": "j@joshbetz.com",
        "time": "Mon Jul 31 11:46:31 2017 -0500"
      },
      "committer": {
        "name": "Josh Betz",
        "email": "j@joshbetz.com",
        "time": "Mon Jul 31 11:46:31 2017 -0500"
      },
      "message": "Normalize filenames before comparing.\n\nSome multibyte characters can have multiple representations. Before\ncomparing strings, we need to normalize them. In this case we\u0027re\nnormalizing to normalized form C, but it shouldn\u0027t matter as long as\nboth strings are normalized to the same form.\n\nFixes https://github.com/src-d/go-git/issues/495\n"
    },
    {
      "commit": "91cdedae7faffca0a707fa47780efafe157ba47c",
      "tree": "282c7bc5b476ad21c4cbfad63c74b36d338cb5d1",
      "parents": [
        "8ddbecf782c2e340fd85bb4ba4d00dc73d749f87",
        "63b30fba572b7e70833fae4785c6d22f167c6641"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Sat Jul 29 14:20:30 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 29 14:20:30 2017 +0200"
      },
      "message": "Merge pull request #522 from devonbarrett/reuse-auth-#521\n\nreuse Auth method when recursing submodules, fixes #521"
    },
    {
      "commit": "63b30fba572b7e70833fae4785c6d22f167c6641",
      "tree": "282c7bc5b476ad21c4cbfad63c74b36d338cb5d1",
      "parents": [
        "8ddbecf782c2e340fd85bb4ba4d00dc73d749f87"
      ],
      "author": {
        "name": "Devon Barrett",
        "email": "devon@devonbarrett.net",
        "time": "Sat Jul 29 13:12:57 2017 +0100"
      },
      "committer": {
        "name": "Devon Barrett",
        "email": "devon@devonbarrett.net",
        "time": "Sat Jul 29 13:12:57 2017 +0100"
      },
      "message": "reuse Auth method when recursing submodules, fixes #521\n"
    },
    {
      "commit": "8ddbecf782c2e340fd85bb4ba4d00dc73d749f87",
      "tree": "b4cfbd1727ad5609801a3f12504077b409b72361",
      "parents": [
        "11a403e8af2f5f1f2d5fd3bc73c1ff943ccb7c96"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Fri Jul 28 21:58:40 2017 +0200"
      },
      "committer": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Fri Jul 28 21:58:40 2017 +0200"
      },
      "message": "transport: fix ssh override config, fixes #519\n"
    },
    {
      "commit": "11a403e8af2f5f1f2d5fd3bc73c1ff943ccb7c96",
      "tree": "57e196443d93a6f57278ee85f3bcdbb138a4b1c7",
      "parents": [
        "e4a931cc533f743368e4c77aeb718272e1fad777"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Fri Jul 28 21:26:17 2017 +0200"
      },
      "committer": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Fri Jul 28 21:26:17 2017 +0200"
      },
      "message": "Submodule.Update, add Auth to SubmoduleUpdateOption, fixes #520\n"
    },
    {
      "commit": "e4a931cc533f743368e4c77aeb718272e1fad777",
      "tree": "501339c0f099e4daa674caf49cfe642593b8aced",
      "parents": [
        "86f33ed017b55898758bf8900a085f355b2793d0",
        "a9c3fdc8d70e580173ef21f5c3def8eeca35dcd7"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Fri Jul 28 18:45:18 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 28 18:45:18 2017 +0200"
      },
      "message": "Merge pull request #516 from smola/revlist-perf\n\nrevlist: ignore all objects reachable from ignored objects"
    },
    {
      "commit": "86f33ed017b55898758bf8900a085f355b2793d0",
      "tree": "1e741bed0672a7afb62cda37ca0b1d86fad52889",
      "parents": [
        "7b08a3005480a50f0f4290aff8f3702085d5e30d",
        "16b24f84e9342234ad90da27a6532887b05d1965"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Jul 27 18:04:00 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 27 18:04:00 2017 +0200"
      },
      "message": "Merge pull request #515 from smola/reuse-packed-objects\n\n storage: reuse deltas from packfiles"
    },
    {
      "commit": "a9c3fdc8d70e580173ef21f5c3def8eeca35dcd7",
      "tree": "710ce9a9420cc67787f3d5231d2aa1b6bd06692c",
      "parents": [
        "854ffa16f650706200a6ebb5505bb448b5c64035"
      ],
      "author": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Thu Jul 27 14:05:17 2017 +0200"
      },
      "committer": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Thu Jul 27 17:43:01 2017 +0200"
      },
      "message": "revlist: ignore all objects reachable from ignored objects\n\nUsually we call revlist.Objects ignoring a set of commits.\nThis is not enough to ignore everything reachable from such\nset, so we first get all objects reachable from the ignored\nset and then walk the tree again ignoring that new set.\n"
    },
    {
      "commit": "16b24f84e9342234ad90da27a6532887b05d1965",
      "tree": "5e75e59f89b87988fd18e0258d32314e69a87292",
      "parents": [
        "87413ced43b02a41359ce7a1a07ab41aec6ee313"
      ],
      "author": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Thu Jul 27 17:24:01 2017 +0200"
      },
      "committer": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Thu Jul 27 17:24:01 2017 +0200"
      },
      "message": "plumbing: add IsDelta method to ObjectType\n\nObjectType.IsDelta is a convenience function to match both\noffset and reference delta types.\n"
    },
    {
      "commit": "7b08a3005480a50f0f4290aff8f3702085d5e30d",
      "tree": "2977c3d68b410a1593767245226bfa38dab82a88",
      "parents": [
        "8c57f96d4678087e06035095e67ad1239d6509ce",
        "35d5595b306148b626fdfbfd8a7c77a4687179f4"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Jul 27 17:23:00 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 27 17:23:00 2017 +0200"
      },
      "message": "Merge pull request #517 from smola/more-cache-reuse\n\nfilesystem: reuse cache for packfile iterator"
    },
    {
      "commit": "87413ced43b02a41359ce7a1a07ab41aec6ee313",
      "tree": "07975422ab63bfbb13aefc1a2d53d757c7342848",
      "parents": [
        "3834038893d5cacb49e5f2786ad955d26f666546"
      ],
      "author": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Tue Jul 25 15:00:01 2017 +0200"
      },
      "committer": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Thu Jul 27 15:33:14 2017 +0200"
      },
      "message": "storage: reuse deltas from packfiles\n\n* plumbing: add DeltaObject interface for EncodedObjects that\n  are deltas and hold additional information about them, such\n  as the hash of the base object.\n\n* plumbing/storer: add DeltaObjectStorer interface for object\n  storers that can return DeltaObject. Note that calls to\n  EncodedObject will never return instances of DeltaObject.\n  That requires explicit calls to DeltaObject.\n\n* storage/filesystem: implement DeltaObjectStorer interface.\n\n* plumbing/packfile: packfile encoder now supports reusing\n  deltas that are already computed (e.g. from an existing\n  packfile) if the storage implements DeltaObjectStorer.\n  Reusing deltas boosts performance of packfile generation\n  (e.g. on push).\n"
    },
    {
      "commit": "35d5595b306148b626fdfbfd8a7c77a4687179f4",
      "tree": "2977c3d68b410a1593767245226bfa38dab82a88",
      "parents": [
        "8c57f96d4678087e06035095e67ad1239d6509ce"
      ],
      "author": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Thu Jul 27 15:30:13 2017 +0200"
      },
      "committer": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Thu Jul 27 15:30:13 2017 +0200"
      },
      "message": "filesystem: reuse cache for packfile iterator\n"
    },
    {
      "commit": "3834038893d5cacb49e5f2786ad955d26f666546",
      "tree": "077902d85aa35c83e457bda91db5cf1882dd7dbf",
      "parents": [
        "8c57f96d4678087e06035095e67ad1239d6509ce"
      ],
      "author": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Thu Jul 27 10:53:04 2017 +0200"
      },
      "committer": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Thu Jul 27 15:22:42 2017 +0200"
      },
      "message": "test: improve packfile.Encoder tests\n\n* Improve checks for encode/decode.\n\n* Make it easier to extend this test with more\n  storage backends.\n"
    },
    {
      "commit": "8c57f96d4678087e06035095e67ad1239d6509ce",
      "tree": "a1468ab8a942435435c644abdc9bac3338990bc2",
      "parents": [
        "854ffa16f650706200a6ebb5505bb448b5c64035",
        "ae1c4f3df729c3a7fed4cd5a1f530c95d640497a"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Jul 27 14:55:47 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 27 14:55:47 2017 +0200"
      },
      "message": "Merge pull request #514 from smola/use-cache-delta\n\ncache: reuse object cache for delta resolution, use LRU policy"
    },
    {
      "commit": "ae1c4f3df729c3a7fed4cd5a1f530c95d640497a",
      "tree": "a1468ab8a942435435c644abdc9bac3338990bc2",
      "parents": [
        "b3fc7760ba332306bb1faa64c8a101a2e605077f"
      ],
      "author": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Mon Jul 24 14:19:21 2017 +0200"
      },
      "committer": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Thu Jul 27 14:22:40 2017 +0200"
      },
      "message": "plumbing/cache: change FIFO to LRU cache\n"
    },
    {
      "commit": "b3fc7760ba332306bb1faa64c8a101a2e605077f",
      "tree": "7c9ada0c0199d8b2647e677793d06c27006f7093",
      "parents": [
        "f07672f5c3cad2e73596ab3d7ca16660f6881df6"
      ],
      "author": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Mon Jul 24 14:04:51 2017 +0200"
      },
      "committer": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Thu Jul 27 14:21:51 2017 +0200"
      },
      "message": "storage/filesystem: reuse delta cache\n\nReuse delta base object cache for packfile decoders\nacross multiple instances.\n"
    },
    {
      "commit": "f07672f5c3cad2e73596ab3d7ca16660f6881df6",
      "tree": "c3e6162aacf6ee1c38bd3a3915dcb040b5006627",
      "parents": [
        "854ffa16f650706200a6ebb5505bb448b5c64035"
      ],
      "author": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Mon Jul 24 13:36:41 2017 +0200"
      },
      "committer": {
        "name": "Santiago M. Mola",
        "email": "santi@mola.io",
        "time": "Thu Jul 27 14:15:09 2017 +0200"
      },
      "message": "plumbing/cache: use more explicit interface\n\n* renamed Add to Put\n* Get returns a second bool value to indicate if there\n  was hit or miss.\n"
    },
    {
      "commit": "854ffa16f650706200a6ebb5505bb448b5c64035",
      "tree": "61892f335f61c6fbb2bf65f7daf51829276a8e28",
      "parents": [
        "c2561364e33763d3356a23c5850424a334de30e9",
        "48900a1c810dd2dac9cb44511e6a2412d3064da6"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Jul 27 09:35:19 2017 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 27 09:35:19 2017 +0200"
      },
      "message": "Merge pull request #512 from mcuadros/idx-64bits\n\nformat: idxfile, support for \u003e2Gb packfiles"
    },
    {
      "commit": "48900a1c810dd2dac9cb44511e6a2412d3064da6",
      "tree": "fb0042909e7bc55b9862ef2515d84eb1758b5ec7",
      "parents": [
        "e19163e22eb19b352dd022f6edc9d81e1cd7a7ed"
      ],
      "author": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Jul 27 09:34:58 2017 +0200"
      },
      "committer": {
        "name": "Máximo Cuadros",
        "email": "mcuadros@gmail.com",
        "time": "Thu Jul 27 09:34:58 2017 +0200"
      },
      "message": "format: idxfile, support for \u003e2Gb packfiles\n"
    }
  ],
  "next": "c2561364e33763d3356a23c5850424a334de30e9"
}
