)]}'
{
  "log": [
    {
      "commit": "df42ff9f17c98e99a534c4cfaa21f66baf19f7cf",
      "tree": "c7df7720bfd658abbd46a10b9d592a13ec302feb",
      "parents": [
        "d94078c4734085cff50e3b886d9cd1aa052a7ae4"
      ],
      "author": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Fri Dec 19 09:00:58 2025 +0100"
      },
      "committer": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Fri Dec 19 09:00:58 2025 +0100"
      },
      "message": "Adapt to use of gerrit_plugin rule from bazlets for in-tree builds\n\nChange-Id: I06a11ed73aca9fe0f66e7d6cf1e3162900bf9694\n"
    },
    {
      "commit": "d94078c4734085cff50e3b886d9cd1aa052a7ae4",
      "tree": "d488a4d9643aea010cf5b863786afe69571d6309",
      "parents": [
        "d9bc75b4695add98b1e17b5896f0f105e19ca443"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon Mar 10 21:54:24 2025 +0100"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon Mar 10 22:06:53 2025 +0100"
      },
      "message": "HeaderFormatter: use ZoneId from java.time API instead of java.util.TimeZone\n\nChange-Id: I28018d98fbe74f4b1aff8baba87d021f02e6831e\n"
    },
    {
      "commit": "d9bc75b4695add98b1e17b5896f0f105e19ca443",
      "tree": "aec7b241ea03fd28575e7be02e281ae51ac0910d",
      "parents": [
        "18c867b6a957b3ddeb7a9e9789819fc60bdcd99a"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon Mar 10 22:05:06 2025 +0100"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon Mar 10 22:05:06 2025 +0100"
      },
      "message": "Auto-format source code using gjf\n\nChange-Id: Ieebb1110e5dc4a2df615d4962d3c1e7e27907d19\n"
    },
    {
      "commit": "18c867b6a957b3ddeb7a9e9789819fc60bdcd99a",
      "tree": "10440338fb5c0185fc4f3b6772b01dadf1619b72",
      "parents": [
        "ebddab74f75316aa2cabb6697b8d97d73c97d8e0"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Wed Jan 03 15:23:00 2024 +0000"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Wed Jan 03 15:23:00 2024 +0000"
      },
      "message": "Adapt to enabling the MutableGuiceModule errorprone pattern in Gerrit core\n\nChange-Id: I3626dd06f6e37cdc023bbeb40317c202ea933837\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "ebddab74f75316aa2cabb6697b8d97d73c97d8e0",
      "tree": "1a81fed51fc454182ad3acd155c5385b4a53ece2",
      "parents": [
        "9321303265fcab2ff7f764a444f8c23915747638"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Mon Dec 18 13:55:29 2023 +0000"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Mon Dec 18 14:18:34 2023 +0000"
      },
      "message": "Adapt to enabling CheckReturnValue in gerrit core\n\nBug: Google b/312699566\nChange-Id: Ib93b816f09db5e2d6f7c4c973317a3a8b1352a8e\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "9321303265fcab2ff7f764a444f8c23915747638",
      "tree": "360e3324b93f2c4d91c6aec48cfd10d1ec9a4862",
      "parents": [
        "158435d2aa9f8729e4e78835969e54701af9203b"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Apr 24 10:28:15 2023 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Apr 24 10:47:08 2023 +0200"
      },
      "message": "Fix ReturnMissingNullable bug pattern flagged by error prone\n\nFor more details see: [1].\n\n[1] https://errorprone.info/bugpattern/ReturnMissingNullable\nChange-Id: Ice845315af628157b805792a90e38728a8c0d747\n"
    },
    {
      "commit": "158435d2aa9f8729e4e78835969e54701af9203b",
      "tree": "11c9df7cbbf8661b8272b8bd0764c02e5a4647a2",
      "parents": [
        "10db2cf772989d031c6f3558010c51fe07cf9722",
        "b0b516329e197c9a39acbb551bdb8e419a6c6eab"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "martin.waitz@gmail.com",
        "time": "Fri Mar 24 13:05:46 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 24 13:05:46 2023 +0000"
      },
      "message": "Merge \"Add comment count to review notes\""
    },
    {
      "commit": "b0b516329e197c9a39acbb551bdb8e419a6c6eab",
      "tree": "4593ea9b1575ce9e9627cf56a5ba1e0af4b7ab8b",
      "parents": [
        "4198fe8df1c1b86d812f32da63e891b1c2fc6f3e"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Thu Mar 23 11:46:18 2023 +0100"
      },
      "committer": {
        "name": "Martin Waitz",
        "email": "martin.waitz@gmail.com",
        "time": "Fri Mar 24 12:59:59 2023 +0000"
      },
      "message": "Add comment count to review notes\n\nThe `git log --notes\u003dreview` output provides a good overview about\nchanges and their reviews and is a good basis for a review validation\nreport.\nThe addition of the number of comments in the report can increase\nconfidence that these reviews really do find issues.\n\nChange-Id: Ifc2718ad11a4a54445deb63cf2ae7fb4eea60de9\n"
    },
    {
      "commit": "10db2cf772989d031c6f3558010c51fe07cf9722",
      "tree": "e05da468e0c0d5ccff713b8b8450cfafc77c8ceb",
      "parents": [
        "4198fe8df1c1b86d812f32da63e891b1c2fc6f3e"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Wed Oct 12 13:08:34 2022 +0200"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Wed Oct 12 13:08:34 2022 +0200"
      },
      "message": "Annotate methods that return a definitely null value with @Nullable\n\nWe intend to enable the ReturnMissingNullable errorprone pattern in\nGerrit core and this fixes the current issues.\n\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\nChange-Id: Id502fba86964c0c9b8df5fd586a1d98aa53137bf\n"
    },
    {
      "commit": "4198fe8df1c1b86d812f32da63e891b1c2fc6f3e",
      "tree": "382891b5d57d3a79c7f1b417d65aa71dca109150",
      "parents": [
        "38c4c4187a81b2e0b9cf50029b9e8e1381b1315c"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Jun 13 15:27:20 2022 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Jun 13 15:28:57 2022 +0200"
      },
      "message": "RefUpdateListener: Fix FloggerLogString issue flagged by error prone\n\nSee: [1] for more details.\n\n[1] https://errorprone.info/bugpattern/FloggerLogString\n\nChange-Id: I4944e1b9749e86eda2937eb760dfa752cf02ffe7\n"
    },
    {
      "commit": "38c4c4187a81b2e0b9cf50029b9e8e1381b1315c",
      "tree": "bd64f461244e2bf6301b8599b86fff8138017a8a",
      "parents": [
        "6226d01c563846ae479cb4fdafd698b31472772c"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Jun 13 07:29:18 2022 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Jun 13 07:36:26 2022 +0200"
      },
      "message": "Fix FloggerLogString issue flagged by error prone\n\nSee: [1] for more details.\n\n[1] https://errorprone.info/bugpattern/FloggerLogString\n\nChange-Id: Ia7b6bf9de7466b5bb8e1d66719eed789245c082f\n"
    },
    {
      "commit": "6226d01c563846ae479cb4fdafd698b31472772c",
      "tree": "f85e8fa4d61ec3dd351a1a3763336ee75082a371",
      "parents": [
        "a28ae590486934690e4e0a95d7eb75f8b60644a6"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Mon Dec 27 17:06:58 2021 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Mon Dec 27 17:46:30 2021 +0100"
      },
      "message": "Adapt to PatchSetApproval#granted() returning Instant instead of Timestamp\n\nBug: Issue 15070\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\nChange-Id: I4fe85433881ec1733b8f63748b59494e7554bbba\n"
    },
    {
      "commit": "a28ae590486934690e4e0a95d7eb75f8b60644a6",
      "tree": "4fb69b3d66bd645f732e19cc70de11d67138e7d7",
      "parents": [
        "35e6449a517691a880c94e7467bc07360f8e6666"
      ],
      "author": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Wed Jul 21 14:19:11 2021 +0200"
      },
      "committer": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Wed Jul 21 14:19:11 2021 +0200"
      },
      "message": "Adapt to change in Gerrit core\n\nChange-Id: I52ed6e72dde828cb4d90dea2e4479c45d7597d21\n"
    },
    {
      "commit": "35e6449a517691a880c94e7467bc07360f8e6666",
      "tree": "366e84b2d717a03dbfc1f47b196f3a19b88aa514",
      "parents": [
        "8074b2c179d31829a88c15406df51d53656f8541"
      ],
      "author": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Wed Jun 02 11:59:39 2021 +0200"
      },
      "committer": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Fri Jun 04 15:22:16 2021 +0200"
      },
      "message": "Adapt to changes in Gerrit core\n\nDepends-On: https://gerrit-review.googlesource.com/c/gerrit/+/308307\nChange-Id: Ifdd7d65eef52a0cd8be540971e10863b8ecc4e40\n"
    },
    {
      "commit": "8074b2c179d31829a88c15406df51d53656f8541",
      "tree": "27e2972b67843178c3328a9eece4ad2771f2c171",
      "parents": [
        "fb0390a8b49f0d601e11f8a1ac0658c429727f21"
      ],
      "author": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Tue Jun 01 17:30:09 2021 +0200"
      },
      "committer": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Fri Jun 04 06:07:41 2021 +0000"
      },
      "message": "Adapt to changes in gerrit core\n\nDepends-On: https://gerrit-review.googlesource.com/c/gerrit/+/308250\nChange-Id: I5702aedd365d34289ffbbea7d9aea580abec133e\n"
    },
    {
      "commit": "fb0390a8b49f0d601e11f8a1ac0658c429727f21",
      "tree": "368e8e6cea7283a2df389ba66dd4419959ef18f8",
      "parents": [
        "05f0ddd30928d0d050696f3d269dea0899334513"
      ],
      "author": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Mon Jul 20 11:38:15 2020 +0200"
      },
      "committer": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Mon Jul 20 11:38:15 2020 +0200"
      },
      "message": "Adjust to changes in Gerrit core\n\nChange-Id: I6578db5375eb16e85b33814f29d3d01012f27167\n"
    },
    {
      "commit": "05f0ddd30928d0d050696f3d269dea0899334513",
      "tree": "d1da7c0278bb6688e6c5f0f4b73ca3261669a69d",
      "parents": [
        "e952b920ecbee5225f1098a02d4a39b19aa7e234"
      ],
      "author": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Tue Jul 14 16:26:35 2020 +0200"
      },
      "committer": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Tue Jul 14 16:26:35 2020 +0200"
      },
      "message": "Adjust to changes in Gerrit core\n\nChange-Id: I64ca220c9872aa9d92d7b0712abab6bacd0b3eea\n"
    },
    {
      "commit": "e952b920ecbee5225f1098a02d4a39b19aa7e234",
      "tree": "4ace81172df694ea77cf4221e0790bba131fcc49",
      "parents": [
        "9e7fd9b420ac9a5caa045cf82b566cc0b51c93ad"
      ],
      "author": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Fri May 29 13:53:30 2020 +0200"
      },
      "committer": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Fri May 29 14:09:31 2020 +0200"
      },
      "message": "Expose ProjectRunnable#toString to set the thread name in core\n\nSetting a proper toString message will allow Gerrit core to\ninclude the message in the thread name which makes debugging\neasier.\n\nChange-Id: Ie874ca95ee6f74352cf161cd4ebecd9e00ec9045\n"
    },
    {
      "commit": "9e7fd9b420ac9a5caa045cf82b566cc0b51c93ad",
      "tree": "b454012a0be160fee37a5064bb28dc8004efffac",
      "parents": [
        "9bd38ec6ab9653d17a6b6293dd7163cd60dd736e"
      ],
      "author": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Wed Mar 04 13:19:50 2020 +0100"
      },
      "committer": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Wed Mar 04 13:19:50 2020 +0100"
      },
      "message": "Adapt to ProjectCache#get interface change\n\nChange-Id: I913e90028b30463b374c2a7420af459982dca691\n"
    },
    {
      "commit": "9bd38ec6ab9653d17a6b6293dd7163cd60dd736e",
      "tree": "5e9aa6fa4acc5608a3115897e54a9cfea80f745c",
      "parents": [
        "eac4cd97cb5818ff471c64914fb4e342baf28c05",
        "be5037839d987a319dac2236e9c1221d4d31848d"
      ],
      "author": {
        "name": "Marco Miller",
        "email": "marco.miller@ericsson.com",
        "time": "Thu Feb 20 19:54:28 2020 -0500"
      },
      "committer": {
        "name": "Marco Miller",
        "email": "marco.miller@ericsson.com",
        "time": "Thu Feb 20 19:54:28 2020 -0500"
      },
      "message": "Merge branch \u0027stable-3.0\u0027\n\n* stable-3.0:\n  CreateReviewNotes: Use UTF_8 constant from StandardCharsets\n\nChange-Id: I2e483631ef609aefba3532cf4e798f6e8abf8953\n"
    },
    {
      "commit": "be5037839d987a319dac2236e9c1221d4d31848d",
      "tree": "57d137923c770e0a9547d4b25af3721dea322fbc",
      "parents": [
        "c87afe76b180f6554dd5ad3c12203456ed9aab3d",
        "ba3a422f1909f4970c563212d45cce70d494f60b"
      ],
      "author": {
        "name": "Marco Miller",
        "email": "marco.miller@ericsson.com",
        "time": "Wed Feb 19 13:56:33 2020 -0500"
      },
      "committer": {
        "name": "Marco Miller",
        "email": "marco.miller@ericsson.com",
        "time": "Wed Feb 19 13:56:48 2020 -0500"
      },
      "message": "Merge branch \u0027stable-2.16\u0027 into stable-3.0\n\n* stable-2.16:\n  CreateReviewNotes: Use UTF_8 constant from StandardCharsets\n\nChange-Id: I499c81f625949ced7764a84eaab24b7fd6848161\n"
    },
    {
      "commit": "ba3a422f1909f4970c563212d45cce70d494f60b",
      "tree": "fe072689d7952209ff0c63680c1091baba93da9e",
      "parents": [
        "848e2d91a5f9257bf6a92a133f2baf0d563b7462"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed Feb 19 19:47:57 2020 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed Feb 19 19:47:57 2020 +0900"
      },
      "message": "CreateReviewNotes: Use UTF_8 constant from StandardCharsets\n\nChange-Id: Ice5c61b77b8cd2c86201746560d160736550260f\n"
    },
    {
      "commit": "eac4cd97cb5818ff471c64914fb4e342baf28c05",
      "tree": "eff116ab309ca93881f0e1e7997941c819290475",
      "parents": [
        "f1a36220e0ef31fb024de9ad589dfdfdf301c295"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Dec 06 16:37:13 2019 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Dec 06 16:42:00 2019 +0100"
      },
      "message": "Adapt to changes of the RetryHelper API\n\nChange Iecdfa5b15 added a fluent API for executing action with retrying.\n\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\nChange-Id: I3fcedb708d9bb618720a2f8a0923226462811583\n"
    },
    {
      "commit": "f1a36220e0ef31fb024de9ad589dfdfdf301c295",
      "tree": "5917a94de1470f1f7cd7ed0d1b8221c9ea51e436",
      "parents": [
        "10dd13408ac80985fabd1b90da81887fa0472c58"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sun May 26 14:05:34 2019 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Tue Oct 15 18:43:13 2019 +0200"
      },
      "message": "Rename reviewdb package to entities\n\nChange-Id: Ia84c69798425e08d416dc09bf68ac970c1f448f0\n"
    },
    {
      "commit": "10dd13408ac80985fabd1b90da81887fa0472c58",
      "tree": "7d5d2bc6ed8e9fac5160b26622c0781d58b44873",
      "parents": [
        "3667220b860d444406ca5fa5cc27d87858642596"
      ],
      "author": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Wed Aug 07 15:24:04 2019 +0200"
      },
      "committer": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Wed Aug 07 15:24:04 2019 +0200"
      },
      "message": "Adapt to AccountState being an AutoValue\n\nChange-Id: Ia73958069ce220154d581d630f8dfaa7bdc1f4e3\n"
    },
    {
      "commit": "3667220b860d444406ca5fa5cc27d87858642596",
      "tree": "bdbb14e1d0d2f9307fbce0dc74529029e41b79a2",
      "parents": [
        "436529473abb0f7921a1c2b732577a0a955cddc9"
      ],
      "author": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Tue Jul 23 15:01:59 2019 +0200"
      },
      "committer": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Tue Jul 23 15:02:32 2019 +0200"
      },
      "message": "Adapt to Account being an AutoValue\n\nChange-Id: I50ec7ba874950260b80c883a9fb502cb1a4bb911\n"
    },
    {
      "commit": "436529473abb0f7921a1c2b732577a0a955cddc9",
      "tree": "baddfec09e2fdbba3ed86e102a04cbf6ac7bad6a",
      "parents": [
        "70f1f3a860fe9e276a3ed216bf2b179ea0e8cde3",
        "c87afe76b180f6554dd5ad3c12203456ed9aab3d"
      ],
      "author": {
        "name": "Marco Miller",
        "email": "marco.miller@ericsson.com",
        "time": "Wed May 29 13:04:15 2019 -0400"
      },
      "committer": {
        "name": "Marco Miller",
        "email": "marco.miller@ericsson.com",
        "time": "Wed May 29 13:04:30 2019 -0400"
      },
      "message": "Merge branch \u0027stable-3.0\u0027\n\n* stable-3.0:\n  ExportReviewNotes: Use @CommandMetaData to define command name and description\n\nChange-Id: Icddffc96b2b7bed8011b5592a308083363481349\n"
    },
    {
      "commit": "c87afe76b180f6554dd5ad3c12203456ed9aab3d",
      "tree": "18c192f09aea2235500eaa9ce4bc4b24e57afdb4",
      "parents": [
        "650e5eba44813061ed76a5fc00fbf0dabdd74057",
        "848e2d91a5f9257bf6a92a133f2baf0d563b7462"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed May 29 14:04:31 2019 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed May 29 14:04:31 2019 +0900"
      },
      "message": "Merge branch \u0027stable-2.16\u0027 into stable-3.0\n\n* stable-2.16:\n  ExportReviewNotes: Use @CommandMetaData to define command name and description\n\nChange-Id: I9b6e2c52c3ca63a6af485c24fd86c616868bb0a2\n"
    },
    {
      "commit": "70f1f3a860fe9e276a3ed216bf2b179ea0e8cde3",
      "tree": "b8f0eecd792a9fa76d11c9c99e3ddb35ab12f639",
      "parents": [
        "2091fdfc99f2cec60ae3fda2538ae1993b0fc8b8"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Mon May 27 13:58:31 2019 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Mon May 27 13:58:31 2019 +0900"
      },
      "message": "ExportReviewNotes: Fix synchronization on non-final field\n\nWhen all error prone warnings are enabled the SynchronizeOnNonFinalField\nbug pattern is reported:\n\n  plugins/reviewnotes/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/ExportReviewNotes.java:110:\n  error: [SynchronizeOnNonFinalField] Synchronizing on non-final fields is not safe:\n  if the field is ever updated, different threads may end up locking on different objects.\n    synchronized (changes) {\n                 ^\n    (see https://errorprone.info/bugpattern/SynchronizeOnNonFinalField)\n\nChange-Id: Ie671af628f1ce60de53165048b80d88e2c4d26ae\n"
    },
    {
      "commit": "848e2d91a5f9257bf6a92a133f2baf0d563b7462",
      "tree": "34f4286bb4ebea02529eb16a2a1134c606105a83",
      "parents": [
        "5ff36200b29567118b3aede8e49ba0b6c6b1adb1"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Mon May 27 10:33:37 2019 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Mon May 27 10:33:37 2019 +0900"
      },
      "message": "ExportReviewNotes: Use @CommandMetaData to define command name and description\n\nChange-Id: Ie91feb240fd14cc27f8a82d6a52ce35391bb33c0\n"
    },
    {
      "commit": "2091fdfc99f2cec60ae3fda2538ae1993b0fc8b8",
      "tree": "266872820961f9adcb44c2beb566ac6520fd786a",
      "parents": [
        "599e3cfca2dc32d3c684bf41c6ab34262f32dddc"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Wed May 01 09:15:47 2019 -0700"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Wed May 01 09:15:52 2019 -0700"
      },
      "message": "Adapt to PatchSetApproval refactoring\n\nChange-Id: I6189407b3e8e0e40d5080c365682fe863ca98b9f\n"
    },
    {
      "commit": "599e3cfca2dc32d3c684bf41c6ab34262f32dddc",
      "tree": "4a35d2959fd070eaaf4e1c4fa6442c4d5e07e43e",
      "parents": [
        "3e74dbd716f3834f1733c8d5aedec0ce2089d4c6"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Apr 25 10:34:43 2019 -0700"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Apr 25 10:34:43 2019 -0700"
      },
      "message": "Adapt to new PatchSet method names\n\nChange-Id: I3d2d275f268737f1a817083b5c845fef2951f437\n"
    },
    {
      "commit": "3e74dbd716f3834f1733c8d5aedec0ce2089d4c6",
      "tree": "42a9f41f9582427b6f0d0ea18e3a87a84d90a3a4",
      "parents": [
        "650e5eba44813061ed76a5fc00fbf0dabdd74057"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Wed Apr 24 08:26:39 2019 -0700"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Apr 25 08:24:10 2019 -0700"
      },
      "message": "Adapt to RevId removal\n\nChange-Id: I83278419a156d5e39de2f820e50c596672fc8157\n"
    },
    {
      "commit": "650e5eba44813061ed76a5fc00fbf0dabdd74057",
      "tree": "cce7c806df7757ae0862d19dcb10ca11a2b6e2a0",
      "parents": [
        "f851afa24966cc4d1011d67b8089069665e9dc98"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Fri Apr 19 09:14:18 2019 -0700"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Fri Apr 19 09:17:22 2019 -0700"
      },
      "message": "Adapt to Project.NameKey refactoring\n\nChange-Id: Id17e7445a1d588d0ae73f80642d7044837b1024f\n"
    },
    {
      "commit": "f851afa24966cc4d1011d67b8089069665e9dc98",
      "tree": "2c0c6a088386beac5d2266e2ef53bac08303fd04",
      "parents": [
        "826c76a2bd25e445c526a6008b5525624b060b20"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Fri Apr 19 08:44:53 2019 -0700"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Fri Apr 19 08:44:53 2019 -0700"
      },
      "message": "Adapt to PatchSet.Id refactoring\n\nChange-Id: Ib068438bf2eb16128e5ae784881f3707191321f5\n"
    },
    {
      "commit": "826c76a2bd25e445c526a6008b5525624b060b20",
      "tree": "28806845338cb5ea2f2ee54904512c48ed5c5abb",
      "parents": [
        "3dec016f9186131b2359d689a3e4a2c14717710e"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Wed Apr 17 15:54:01 2019 -0700"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Apr 18 08:17:11 2019 -0700"
      },
      "message": "Adapt to Branch.NameKey refactoring\n\nChange-Id: Iaa5f2f9eb3bd04d6396a36b58c5df8b1e79358bc\n"
    },
    {
      "commit": "3dec016f9186131b2359d689a3e4a2c14717710e",
      "tree": "0bc7c5ebd1e032620d5bc0e50db753799544a851",
      "parents": [
        "49191ba1997fa2465581313da04c402af8e7c2fc"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Tue Jan 15 19:26:37 2019 -0800"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed Apr 17 20:55:11 2019 +0900"
      },
      "message": "Remove StorageException from throws clauses\n\nChange-Id: Ie5240b9126452a677827b82c4b9addadc88fecf6\n"
    },
    {
      "commit": "49191ba1997fa2465581313da04c402af8e7c2fc",
      "tree": "fed74b98063a7fcf871d83505bd672637fa6af0b",
      "parents": [
        "d7ba4997b5c0038c85f6393b73a9ca16ca4fb927"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Tue Jan 15 19:01:11 2019 -0800"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed Apr 17 15:03:43 2019 +0900"
      },
      "message": "Adapt to new StorageException class name and package\n\nChange-Id: Ia86c5660a5369967d306bfd4cbff16a6cb611d65\n"
    },
    {
      "commit": "d7ba4997b5c0038c85f6393b73a9ca16ca4fb927",
      "tree": "4ef0fce6b539f9f1c7891722ded97dd0595b0a96",
      "parents": [
        "a9456bfdb862dfa7197583decac3c22149ae8109"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu Feb 14 13:15:04 2019 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu Feb 14 13:48:21 2019 +0900"
      },
      "message": "Use new Change#isMerged() method\n\nChange-Id: I78dbfa5c4af65fdf215eb32ccdc1ee09d39f9f6d\n"
    },
    {
      "commit": "a9456bfdb862dfa7197583decac3c22149ae8109",
      "tree": "9f4993c8b9075874c3f164bcd3bc9cfc38ab48b6",
      "parents": [
        "5d607a4193fb41b4ad8fe01622f7e002fd4208c0",
        "5ff36200b29567118b3aede8e49ba0b6c6b1adb1"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Mon Dec 31 11:54:58 2018 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Mon Dec 31 11:54:58 2018 +0100"
      },
      "message": "Merge branch stable-2.16\n\n* stable-2.16:\n  Adapt to the JGit v4.5.x\n\nChange-Id: I9b420bd83a6ee77d3a70cf6e1504ea3a9920b8e0\n"
    },
    {
      "commit": "5ff36200b29567118b3aede8e49ba0b6c6b1adb1",
      "tree": "f3f01aff794a2a8fefec7830b215719312813f68",
      "parents": [
        "53333b3e3f70dfe14ce4c937246a00a2e4bfa3a0",
        "951d84b32e4f2393dbcf7c319e0d3f617838948c"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Mon Dec 31 07:30:21 2018 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Mon Dec 31 07:30:21 2018 +0100"
      },
      "message": "Merge branch stable-2.15\n\n* stable-2.15:\n  Adapt to the JGit v4.5.x\n\nChange-Id: Ibc0c05aa163f8ef3668e6c043bf9076974c96a3a\n"
    },
    {
      "commit": "951d84b32e4f2393dbcf7c319e0d3f617838948c",
      "tree": "fe973386677f038637df4254d5d19299cf5557be",
      "parents": [
        "52d66d97f7c87a18c50840ab453ca84026b90738",
        "6fa85646a821e71195a4f1740ab1514a54700c6e"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Dec 28 17:40:24 2018 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Dec 28 17:40:24 2018 +0100"
      },
      "message": "Merge branch stable-2.14\n\n* stable-2.14:\n  Adapt to the JGit v4.5.x\n\nChange-Id: I7d88bebded4f0155262f268f918ce49639ee306f\n"
    },
    {
      "commit": "6fa85646a821e71195a4f1740ab1514a54700c6e",
      "tree": "c2507ede413e9bdadbd2055d536c142803a71d92",
      "parents": [
        "72a086028fbfb3e597276f2a2984534965645883",
        "a52ea118b403e0f8ffc50c77e5471079e18c14d0"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Dec 28 17:05:39 2018 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Dec 28 17:05:39 2018 +0100"
      },
      "message": "Merge branch stable-2.13\n\n* stable-2.13:\n  Adapt to the JGit v4.5.x\n\nChange-Id: I71d43089fc940af1f52067ebf1823264bd9c7fea\n"
    },
    {
      "commit": "a52ea118b403e0f8ffc50c77e5471079e18c14d0",
      "tree": "d83b99052ca64cb99e349262b9f396a7df6ece3d",
      "parents": [
        "275eeaa3ab917696da1a20b3a9fba56eca8ecc6c",
        "8de8884603ce21de9c7282b955cb5ef2077277c3"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Dec 28 14:16:01 2018 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Dec 28 14:16:01 2018 +0100"
      },
      "message": "Merge branch stable-2.12\n\n* stable-2.12:\n  Adapt to the JGit v4.5.x\n\nChange-Id: I45ca07a7bc98d3d8acb2d8af0516a42eef90e845\n"
    },
    {
      "commit": "8de8884603ce21de9c7282b955cb5ef2077277c3",
      "tree": "bcbd88f8457ccfe893f16187c02287f2c2d50023",
      "parents": [
        "26f38c4514687c388472be19c9789eaa84b1d564",
        "4efc9a167fe66dc019f495abe848b2296553b4a0"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Dec 28 08:07:49 2018 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Dec 28 08:07:49 2018 +0100"
      },
      "message": "Merge branch stable-2.11\n\n* stable-2.11:\n  Adapt to the JGit v4.5.x\n\nChange-Id: I9bca8da402097e8f54e477113299abb96c18c773\n"
    },
    {
      "commit": "4efc9a167fe66dc019f495abe848b2296553b4a0",
      "tree": "5d22c9583fd6bac26b244856724e07f7254886bc",
      "parents": [
        "f6403a1ed35e908a4828fdc9168ed752fa178c69",
        "4f5831f1c319753ee4ef16c35778f49397985af9"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Thu Dec 27 13:49:35 2018 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Thu Dec 27 13:49:35 2018 +0100"
      },
      "message": "Merge branch stable-2.10\n\n* stable-2.10:\n  Adapt to the JGit v4.5.x\n\nChange-Id: I434b92d7fad76d87ea39bd2c2bea12bf9167d130\n"
    },
    {
      "commit": "4f5831f1c319753ee4ef16c35778f49397985af9",
      "tree": "7a1aa0b9ca731eb198e50c13b5edf634f14b7888",
      "parents": [
        "0b5aab68206744f6a41abba63aaa3714f354fa83",
        "0fc4b128d290b20c4ef962d30529faae6e89a169"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Thu Dec 27 13:22:37 2018 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Thu Dec 27 13:22:37 2018 +0100"
      },
      "message": "Merge branch stable-2.9\n\n* stable-2.9:\n  Adapt to the JGit v4.5.x\n\nChange-Id: I05ef83fe0facd8a00d4b124c13947137c0afdae4\n"
    },
    {
      "commit": "0fc4b128d290b20c4ef962d30529faae6e89a169",
      "tree": "2f7857f4de964bafc8f5d4e6724f83336a2b6b14",
      "parents": [
        "b544447649d9ee3b3f78a6a1a7f839cb6a361292"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Thu Dec 27 08:45:16 2018 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Thu Dec 27 08:45:57 2018 +0100"
      },
      "message": "Adapt to the JGit v4.5.x\n\nThis version of JGit removes the \u0027release()\u0027 method in many interfaces\nand classes in favor of implementing the AutoCloseable interface.\n\nChange-Id: I32ddb5e9f5f1e7fa20e260b6cf63caed5eaf3f95\n"
    },
    {
      "commit": "5d607a4193fb41b4ad8fe01622f7e002fd4208c0",
      "tree": "9f4993c8b9075874c3f164bcd3bc9cfc38ab48b6",
      "parents": [
        "b2f35ef02a63072f4d210a69b57807421c0fa61d"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Sat Dec 15 10:37:20 2018 -0800"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Mon Dec 17 10:10:57 2018 +0100"
      },
      "message": "Adapt to removal of ReviewDb arguments\n\nNo more direct ReviewDb dependencies are required.\n\nChange-Id: Ie62fced013b5c47886fd0e904dee7d6aeda6e81a\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "b2f35ef02a63072f4d210a69b57807421c0fa61d",
      "tree": "569c7ee873ae0ffe8898a7e38acc73b694cd39db",
      "parents": [
        "b98d8920345aa6183fe98ea9bc15ae0fea5d9b58"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Sat Dec 15 10:34:38 2018 -0800"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Mon Dec 17 10:10:52 2018 +0100"
      },
      "message": "Use PatchSetUtil to read patch sets\n\nPreviously we were reading directly from ReviewDb, which produced empty\nresults in NoteDb.\n\nChange-Id: I3ef2ab6667e74351c50429ef6d85b232474073db\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "b98d8920345aa6183fe98ea9bc15ae0fea5d9b58",
      "tree": "ca879198732a14a8f4f296e0a7dd187ddc9a7b6a",
      "parents": [
        "fdbadf312d829990d3a4be3491d13a79d6c0cf5b",
        "25f0314fb6c8b3eb660b1b6221b6a4f2264bcfff"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Dec 14 09:39:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 14 09:39:59 2018 +0000"
      },
      "message": "Merge \"Adapt to removal of ReviewDb-specific logic from ChangeNotes\""
    },
    {
      "commit": "25f0314fb6c8b3eb660b1b6221b6a4f2264bcfff",
      "tree": "bed52dd49081aaa6fee6ae464f65cc7ae0f0c852",
      "parents": [
        "863130de158605c19809956864870ff05d86b494"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Wed Dec 12 08:51:05 2018 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Wed Dec 12 08:51:05 2018 +0100"
      },
      "message": "Adapt to removal of ReviewDb-specific logic from ChangeNotes\n\nSince ReviewDb-specific logic is removed from ChangeNotes some of the\nmethods no longer requires to pass a ReviewDb instance.\n\nChange-Id: I59f8bcaeffec0974a33338b141d08d42dda3ad8e\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "fdbadf312d829990d3a4be3491d13a79d6c0cf5b",
      "tree": "237efd6ad5113c57886fe1b105306662ead3754a",
      "parents": [
        "863130de158605c19809956864870ff05d86b494"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Mon Dec 10 11:42:08 2018 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Mon Dec 10 11:42:55 2018 +0100"
      },
      "message": "cmd-export: Remove reference to MySQL and PostgreSQL\n\nReviewDb is gone, hence MySQL and PostgreSQL are no longer used.\n\nChange-Id: I2fa3ad412522c63ee71e2f8df073afc13fabe463\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "863130de158605c19809956864870ff05d86b494",
      "tree": "4c942413e5ceb7716e5d1b3066ed8a39f7415719",
      "parents": [
        "041ac8d9fb0c0e5adff0aa37773a1931aced5a9a",
        "53333b3e3f70dfe14ce4c937246a00a2e4bfa3a0"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu Dec 06 21:37:11 2018 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu Dec 06 21:37:11 2018 +0900"
      },
      "message": "Merge branch \u0027stable-2.16\u0027\n\n* stable-2.16:\n  Adapt injection of UrlFormatter to DynamicItem\n\nChange-Id: Iabe82a50f4d4207676b1f0235b0f383374bda932\n"
    },
    {
      "commit": "53333b3e3f70dfe14ce4c937246a00a2e4bfa3a0",
      "tree": "f3f01aff794a2a8fefec7830b215719312813f68",
      "parents": [
        "131f5782a6723d1e017f53cf4e56ff363263b076"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Dec 04 10:04:10 2018 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Dec 04 10:43:36 2018 +0000"
      },
      "message": "Adapt injection of UrlFormatter to DynamicItem\n\nSince I375245647 the UrlFormatter is not bound anymore\ndirectly but through a DynamicItem.\n\nBug: Issue 10131\nChange-Id: I3da6397bab34569029db4e3d6fd9b80a7197381b\n"
    },
    {
      "commit": "041ac8d9fb0c0e5adff0aa37773a1931aced5a9a",
      "tree": "15168fbbb2712aef74241dec43da2670a5b65312",
      "parents": [
        "131f5782a6723d1e017f53cf4e56ff363263b076"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Tue Nov 13 17:06:51 2018 -0800"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Tue Nov 13 17:06:51 2018 -0800"
      },
      "message": "Adapt to moved LockFailureException\n\nChange-Id: Iec2d28a89f8647396f53660d0c9ca698b7f6749f\n"
    },
    {
      "commit": "131f5782a6723d1e017f53cf4e56ff363263b076",
      "tree": "402ced4c82d2443f3a1d7426d1872d0d585ca1a0",
      "parents": [
        "4cea41a51ff7ce98bc18e4c01577f99a93931562",
        "52d66d97f7c87a18c50840ab453ca84026b90738"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Fri Oct 12 15:44:21 2018 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Fri Oct 12 15:44:30 2018 +0900"
      },
      "message": "Merge branch \u0027stable-2.15\u0027\n\n* stable-2.15:\n  Return early for branches for which we do not want to create review notes\n\nChange-Id: I508f717cd3d5d776e4b4f53534dcd734e7dfd678\n"
    },
    {
      "commit": "52d66d97f7c87a18c50840ab453ca84026b90738",
      "tree": "fe973386677f038637df4254d5d19299cf5557be",
      "parents": [
        "eb09af38459c25ba3056b4f4ee0ef181f42915b2"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Thu Oct 11 13:26:14 2018 +0200"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu Oct 11 14:37:56 2018 +0000"
      },
      "message": "Return early for branches for which we do not want to create review notes\n\nChange-Id: I6de283673a1cda19667b3694c68d02e47e516106\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n(cherry picked from commit 4cea41a51ff7ce98bc18e4c01577f99a93931562)\n"
    },
    {
      "commit": "4cea41a51ff7ce98bc18e4c01577f99a93931562",
      "tree": "402ced4c82d2443f3a1d7426d1872d0d585ca1a0",
      "parents": [
        "543ae1f0a24dda61d4f36b173b9bddfd52ead3b9"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Thu Oct 11 13:26:14 2018 +0200"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Thu Oct 11 13:26:14 2018 +0200"
      },
      "message": "Return early for branches for which we do not want to create review notes\n\nChange-Id: I6de283673a1cda19667b3694c68d02e47e516106\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "543ae1f0a24dda61d4f36b173b9bddfd52ead3b9",
      "tree": "95d0a670e00c986e1ff7cd97555c118209f0cba6",
      "parents": [
        "54525ffaed5e8925d97657a622532a00a0006347"
      ],
      "author": {
        "name": "Han-Wen Nienhuys",
        "email": "hanwen@google.com",
        "time": "Mon Sep 10 15:15:29 2018 +0200"
      },
      "committer": {
        "name": "Han-Wen Nienhuys",
        "email": "hanwen@google.com",
        "time": "Mon Sep 24 12:45:52 2018 +0200"
      },
      "message": "Use UrlFormatter.getReviewUrl to construct review URL\n\nChange-Id: Ic8c5edc3da9b737a001001e0929ad07d55208f87\n"
    },
    {
      "commit": "54525ffaed5e8925d97657a622532a00a0006347",
      "tree": "651cdfea71bc5066f8618b936cc3b8a69331a59a",
      "parents": [
        "920f28b46021d9c49fac09d869aa4040d13796e7"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed Sep 19 15:46:20 2018 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed Sep 19 15:46:20 2018 +0900"
      },
      "message": "CreateReviewNotes: Don\u0027t use deprecated Repository.getAllRefs\n\nChange-Id: I867c5003185c9b41c5182b8d05e9db2d9dae2cfa\n"
    },
    {
      "commit": "920f28b46021d9c49fac09d869aa4040d13796e7",
      "tree": "3250ca771f81e78856ea735d5da4cc3f5c6718e2",
      "parents": [
        "26f2a517fa1f8aec90de85d7cce403fe6a8faaf3"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Tue Jul 10 09:38:24 2018 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Tue Jul 10 09:38:24 2018 +0900"
      },
      "message": "CreateReviewNotes: Remove unused IdentifiedUser.GenericFactory\n\nChange-Id: I2565c5a94d2704b10f763780e2ff8dc0956b2c01\n"
    },
    {
      "commit": "26f2a517fa1f8aec90de85d7cce403fe6a8faaf3",
      "tree": "2377ba0e2b112a7263b475f89ac5551a0ce9a09b",
      "parents": [
        "c73171ea9abbeb765d585a92753ce01151355a5c"
      ],
      "author": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Mon Jul 09 13:45:59 2018 +0200"
      },
      "committer": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Mon Jul 09 13:45:59 2018 +0200"
      },
      "message": "Adapt to new ApprovalUtil interface\n\nChange-Id: I73828e6ae14034fc649b06d693e0b0e9b3ab35f9\n"
    },
    {
      "commit": "c73171ea9abbeb765d585a92753ce01151355a5c",
      "tree": "53e17eb48e0236472116e71d1303d2d7641eab2b",
      "parents": [
        "8ddb7e2ebda8cb7813ae0f3f0b8602e14915e300"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Wed Jun 06 10:23:25 2018 +0200"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu Jun 07 10:19:50 2018 +0900"
      },
      "message": "Migrate to Flogger\n\nChange-Id: I3117be761bf4a77a4dddd2bad5b6b5db325724a1\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "8ddb7e2ebda8cb7813ae0f3f0b8602e14915e300",
      "tree": "8bb83f43a7f696fe3b444879c50a64d0b1a5ca6a",
      "parents": [
        "467285664ebf8eb6f1e03ff13ebc706eee6d8662",
        "eb09af38459c25ba3056b4f4ee0ef181f42915b2"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu May 24 10:19:31 2018 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu May 24 10:19:31 2018 +0900"
      },
      "message": "Merge branch \u0027stable-2.15\u0027\n\n* stable-2.15:\n  CreateReviewNotes: Use Logger\u0027s built-in string formatting\n\nChange-Id: Ib1b4ff88c7cb573a6df6f493e755b14b8393bdd8\n"
    },
    {
      "commit": "eb09af38459c25ba3056b4f4ee0ef181f42915b2",
      "tree": "257180400385d9fad60447343680859b124ddbbb",
      "parents": [
        "5e6d0fb102a2d5486c94a0ea7463efd1508f5ade",
        "72a086028fbfb3e597276f2a2984534965645883"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed May 23 19:10:38 2018 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed May 23 19:10:38 2018 +0900"
      },
      "message": "Merge branch \u0027stable-2.14\u0027 into stable-2.15\n\n* stable-2.14:\n  CreateReviewNotes: Use Logger\u0027s built-in string formatting\n\nChange-Id: I2d2dd1d24734cc43997cceb7efd57fc72b415d06\n"
    },
    {
      "commit": "72a086028fbfb3e597276f2a2984534965645883",
      "tree": "c2507ede413e9bdadbd2055d536c142803a71d92",
      "parents": [
        "7070ce225267cd024d0a2f06d0c03f8011774def"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Mon May 21 10:14:22 2018 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed May 23 15:54:39 2018 +0900"
      },
      "message": "CreateReviewNotes: Use Logger\u0027s built-in string formatting\n\nChange-Id: Iffb19f9a9d370dcc0b476421028ec608d715d0df\n"
    },
    {
      "commit": "467285664ebf8eb6f1e03ff13ebc706eee6d8662",
      "tree": "d8b68ecac63eb81a37d67f0f8bfbca513c9760fa",
      "parents": [
        "223730f10cf16f6a8ed2c0a3867371ca336d9ae7"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Feb 09 14:02:00 2018 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Feb 09 14:02:00 2018 +0100"
      },
      "message": "HeaderFormatter: Remove unused appendChangeId method\n\nChange-Id: I0acf1ea301dfc02e3342e4942dffeb580cc86489\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "223730f10cf16f6a8ed2c0a3867371ca336d9ae7",
      "tree": "25a2c7dcfa4f49778e92ed00b7fae6a2ff437f09",
      "parents": [
        "a3235952b0138499894fdcefedce48d7df65e8b3"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Tue Jan 30 16:16:21 2018 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Feb 02 16:50:43 2018 +0100"
      },
      "message": "Adapt to changes in Gerrit core\n\nAccountCache#maybeGet has been renamed to AccountCache#get.\n\nChange-Id: Ie78b0cb6f0132316011aa2b18dfcc13790c16ffd\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "a3235952b0138499894fdcefedce48d7df65e8b3",
      "tree": "6fa56a9778ea134ab71e553ab02c2ad5346a659f",
      "parents": [
        "43c0d7def37b7fa5ef3680f4076412c965bd4863"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Tue Jan 30 13:53:07 2018 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Feb 02 16:50:01 2018 +0100"
      },
      "message": "HeaderFormatter: Use Strings.isNullOrEmpty\n\nChange-Id: I8185804e1ed50e6d182da20d8ef00bd8b0134a78\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "43c0d7def37b7fa5ef3680f4076412c965bd4863",
      "tree": "882495359191fc00cfc511ea4d8bc13828233b35",
      "parents": [
        "5e6d0fb102a2d5486c94a0ea7463efd1508f5ade"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Tue Jan 30 13:48:43 2018 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Feb 02 16:48:49 2018 +0100"
      },
      "message": "Use AccountCache#maybeGet instead of AccountCache#get\n\nAccountCache#get returns an empty AccountState to represent a missing\naccount and the full name and the preferred email of the empty\nAccountState are always null. Handle the missing account case explicitly\ninstead of using an empty AccountState.\n\nChange-Id: I340d1b426304550ae9b368623e15291f8f1dbb92\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "5e6d0fb102a2d5486c94a0ea7463efd1508f5ade",
      "tree": "90653d6361c6ae6abd3f916f51aee2d63b3ac499",
      "parents": [
        "fe99eb4399054d3fd67ff2330aa92841d76e53bb"
      ],
      "author": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Mon Sep 11 11:00:39 2017 +0200"
      },
      "committer": {
        "name": "Patrick Hiesel",
        "email": "hiesel@google.com",
        "time": "Mon Sep 11 11:01:06 2017 +0200"
      },
      "message": "Get PatchSet approvals using ChangeNotes and CurrentUser\n\nChange-Id: Id0af8fdaa7487f7caaa3e85026c158dbf93fc43e\n"
    },
    {
      "commit": "fe99eb4399054d3fd67ff2330aa92841d76e53bb",
      "tree": "1b62bd361c61bf946666fbfed5150613c9298a5e",
      "parents": [
        "be803eb40fdcd5bfa11d9a808863585f86228e06"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Mon Aug 07 14:08:56 2017 -0400"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Mon Aug 07 14:08:56 2017 -0400"
      },
      "message": "Update to new RetryHelper.Options\n\nChange-Id: I7d19f03527b3e627cd5c759798cebba1f05d9890\n"
    },
    {
      "commit": "be803eb40fdcd5bfa11d9a808863585f86228e06",
      "tree": "d394005c6ba3232353ea342dfbfa558eb7985161",
      "parents": [
        "f0930e9dfc56644105cb21e7246096097eeaa385"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Fri Jun 30 07:07:41 2017 -0400"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Fri Jun 30 07:07:41 2017 -0400"
      },
      "message": "Update to new ApprovalsUtil#byPatchSet\n\nChange-Id: I9516a957de352ea4c68ba47ff05f6747c8c40516\n"
    },
    {
      "commit": "f0930e9dfc56644105cb21e7246096097eeaa385",
      "tree": "e4a783688d7e95724a4befe7ac31a339529dc39d",
      "parents": [
        "1a64a6f6407df31c06350a5c6e9266e9ba0cf72a"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Jun 01 17:36:59 2017 -0400"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Jun 15 08:44:04 2017 -0400"
      },
      "message": "Use RetryHelper since NotesBranchUtil doesn\u0027t retry anymore\n\nChange-Id: Ie35f87fd4ac150eaf1019108134c417d5786c607\n"
    },
    {
      "commit": "1a64a6f6407df31c06350a5c6e9266e9ba0cf72a",
      "tree": "f8f9b7226fed35a65eac043ab12e0aef9be33561",
      "parents": [
        "63849f0672b926fb7aca3ad67337594f5acb46de"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Wed Jun 14 09:37:54 2017 +0200"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Wed Jun 14 09:37:54 2017 +0200"
      },
      "message": "Remove more finals from method signatures\n\nChange-Id: I4ff97e231062facafbf9f7bb4f9c55d3aec27fa2\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "63849f0672b926fb7aca3ad67337594f5acb46de",
      "tree": "8234c96d349fb8411cf0305938c2c6b2d2522fd3",
      "parents": [
        "7070ce225267cd024d0a2f06d0c03f8011774def"
      ],
      "author": {
        "name": "Han-Wen Nienhuys",
        "email": "hanwen@google.com",
        "time": "Tue Jun 13 18:16:18 2017 +0200"
      },
      "committer": {
        "name": "Han-Wen Nienhuys",
        "email": "hanwen@google.com",
        "time": "Tue Jun 13 18:16:18 2017 +0200"
      },
      "message": "Remove final from function signatures \n\nChange-Id: I47a1ae6b89643b3e9bc715fa5707ab597ba26503\n"
    },
    {
      "commit": "7070ce225267cd024d0a2f06d0c03f8011774def",
      "tree": "08bfbd3f25b22e83c0372629f2de8b725dda716e",
      "parents": [
        "5761ad491a90c6a3b54d77346008211002a6d2dd",
        "275eeaa3ab917696da1a20b3a9fba56eca8ecc6c"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Mar 03 09:38:21 2017 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Fri Mar 03 09:39:23 2017 +0100"
      },
      "message": "Merge branch \u0027stable-2.13\u0027\n\n* stable-2.13:\n  Fix reviewnotes export\n\nChange-Id: I721d822ec027db64d33ba9a9839216c90680a3d8\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "275eeaa3ab917696da1a20b3a9fba56eca8ecc6c",
      "tree": "d83b99052ca64cb99e349262b9f396a7df6ece3d",
      "parents": [
        "3f3d572e9618f268b19cc54856deee4c96180e4c"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Mon Feb 27 15:48:24 2017 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Mon Feb 27 16:04:45 2017 +0100"
      },
      "message": "Fix reviewnotes export\n\nBug: Issue 5652\nChange-Id: Ib3dfb89ed32c39c449a0e4bfba79c1549a196583\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "5761ad491a90c6a3b54d77346008211002a6d2dd",
      "tree": "ed7d7afe421ad18f02e6e711f54ceed461427600",
      "parents": [
        "e5dc67fb1de8ab0ad6af679fe7961b5ae73649ce"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Wed Feb 08 09:44:48 2017 -0500"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Wed Feb 08 09:44:48 2017 -0500"
      },
      "message": "RefUpdateListener: Add missing import\n\nChange-Id: I67067065ab45030a73d031ec8c53e13e7e5ac171\n"
    },
    {
      "commit": "e5dc67fb1de8ab0ad6af679fe7961b5ae73649ce",
      "tree": "e985b095b6d27e62f3cf36b8dc868c474e924c0a",
      "parents": [
        "e8ac4988951806ee93bf43d9f04e2f47ec12b293"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Feb 02 15:44:19 2017 -0500"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Tue Feb 07 15:45:17 2017 +0000"
      },
      "message": "Assign unused Future return value to a variable\n\nError Prone plans to make this pattern into a compile error; this avoids\nfuture breakage.\n\nChange-Id: I6a023f22f472941854a6729f6450b9b70a020069\n"
    },
    {
      "commit": "e8ac4988951806ee93bf43d9f04e2f47ec12b293",
      "tree": "faf73f3223f790096d32af23a135dd0c7556bcf5",
      "parents": [
        "a3336277c828d70c88de615e6f135018e1cd5e21"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Tue Jan 10 20:13:15 2017 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Tue Feb 07 08:58:22 2017 +0900"
      },
      "message": "Format all Java files with google-java-format\n\nChange-Id: I05b6a2e93015e8a5a5e93cf64ad15b710e86b5c9\n"
    },
    {
      "commit": "a3336277c828d70c88de615e6f135018e1cd5e21",
      "tree": "f93c8ff82dac52e61e04ff823dd9388ff5c23fd7",
      "parents": [
        "a4586ed9cf38ffbbe1f890abe3bc6ac4a873a3ed"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Tue Jan 24 07:28:37 2017 +0100"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Tue Jan 24 07:28:37 2017 +0100"
      },
      "message": "Remove Buck based build\n\nChange-Id: I92196a692632a993822fd7709a793e3b67b2768b\n"
    },
    {
      "commit": "a4586ed9cf38ffbbe1f890abe3bc6ac4a873a3ed",
      "tree": "606034bbf9c541b1976d0dad821a8c4f49c4a387",
      "parents": [
        "45f69757be42ac61dfba915b6e2801525416f1af"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed Dec 07 22:02:18 2016 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed Dec 07 22:02:18 2016 +0900"
      },
      "message": "Bazel: Reformat BUILD file with buildifier\n\nChange-Id: I3bb558072896e0b733516e013237ee3fde1ba597\n"
    },
    {
      "commit": "45f69757be42ac61dfba915b6e2801525416f1af",
      "tree": "ced812552ee04f00e9284f15e0118fe9cc58222e",
      "parents": [
        "9946195b07265b385d5b8c4db44203a6a2b72309"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Oct 13 09:53:56 2016 -0400"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Oct 13 09:53:56 2016 -0400"
      },
      "message": "Fix errant tab\n\nChange-Id: I58e1d3f7ccb67e468c8b477da3859763a4541c64\n"
    },
    {
      "commit": "9946195b07265b385d5b8c4db44203a6a2b72309",
      "tree": "e59840198b257e4d84ddc0556b744119866daedd",
      "parents": [
        "e9c66c6f08edb641d3c935c2fdcaa3fbf3a85d29"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Oct 13 09:53:44 2016 -0400"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Oct 13 09:53:44 2016 -0400"
      },
      "message": "Reduce boilerplate with Maps.immutableEntry\n\nChange-Id: I5b3ea3d33c2e86dd3b7fa0ab0a32490a4a61a0ca\n"
    },
    {
      "commit": "e9c66c6f08edb641d3c935c2fdcaa3fbf3a85d29",
      "tree": "476216ccba76e12a7494eefa4cec4230f3394d33",
      "parents": [
        "eddd8bc74b180cf80e7ebae2c3f73157a1e7118e"
      ],
      "author": {
        "name": "Han-Wen Nienhuys",
        "email": "hanwen@google.com",
        "time": "Tue Oct 04 12:50:54 2016 +0200"
      },
      "committer": {
        "name": "Han-Wen Nienhuys",
        "email": "hanwen@google.com",
        "time": "Tue Oct 04 12:52:20 2016 +0200"
      },
      "message": "Ignore IntelliJ *.iml files\n\nChange-Id: I2997884b7ab1a39177f97310db465bfa64c79c09\n"
    },
    {
      "commit": "eddd8bc74b180cf80e7ebae2c3f73157a1e7118e",
      "tree": "7d09ef7216217c048874d6461cfcbd23a324f0b4",
      "parents": [
        "85069a4bd88b9a18c9df89c86229daf2a07cf345"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Fri Sep 23 12:07:28 2016 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Fri Sep 23 12:07:28 2016 +0200"
      },
      "message": "Implement Bazel build\n\nChange-Id: I8cc93cc87284340f48735925313d602a11dba716\n"
    },
    {
      "commit": "85069a4bd88b9a18c9df89c86229daf2a07cf345",
      "tree": "c572abdb70a15dfbb67f0d56982515a858effdaf",
      "parents": [
        "982292220c81dadefae9535e9f439ba50e71df7e"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Tue Sep 20 15:32:41 2016 -0400"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Tue Sep 20 15:37:40 2016 -0400"
      },
      "message": "ExportReviewNotes: Use lambda for notesFactory.create\n\nThe NotesFactory interface changed to use java.util.Predicate. Using a\nlambda means this caller doesn\u0027t actually care what function type the\ninterface uses.\n\nChange-Id: Ie79317a3a159d25101e47fa657713be6eefa8b5b\n"
    },
    {
      "commit": "982292220c81dadefae9535e9f439ba50e71df7e",
      "tree": "5a796ca1ed16c23e82371d397647a49795679cac",
      "parents": [
        "46079ec92478ddc1e9ffd84eae22fb6af788c9fd"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Mon Aug 22 12:44:49 2016 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Tue Sep 13 10:41:17 2016 +0000"
      },
      "message": "Build with Java 8\n\nChange-Id: Ia3412df8901fed9b636e30697fd5abbb2707028b\n"
    },
    {
      "commit": "46079ec92478ddc1e9ffd84eae22fb6af788c9fd",
      "tree": "8b0cd5d392fa0019ac276d0a77699138377b41a5",
      "parents": [
        "3f3d572e9618f268b19cc54856deee4c96180e4c"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@google.com",
        "time": "Mon Aug 22 19:38:21 2016 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@google.com",
        "time": "Mon Aug 22 19:38:21 2016 -0700"
      },
      "message": "Change docs links to actual file extension (.md)\n\nSee https://gerrit-review.googlesource.com/83950 for detailed context.\n\nChange-Id: I4dc35b6396b57f70f659d4a458011b08817d8719\n"
    },
    {
      "commit": "3f3d572e9618f268b19cc54856deee4c96180e4c",
      "tree": "26b545a658bca8ead3328d3a61a6f969cf779433",
      "parents": [
        "c167df08a8550d8c6c7ccf12b7df4fa6bfc6d432"
      ],
      "author": {
        "name": "Marco Miller",
        "email": "marco.miller@ericsson.com",
        "time": "Wed May 04 15:34:42 2016 -0400"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu May 26 01:41:16 2016 +0000"
      },
      "message": "Fix NPE upon commit that is not a patch set thus no change note involved\n\nBefore this fix, NullPointerException-s showed in error_log when \u0027ps\u0027\nwas null. Creating a project with an empty commit led to that NPE, among\nother likely cases.\n\nFix this so no attempt at creating a change note is made for a commit\nthat does not involve a patch set.\n\nLog an info when such direct-push cases happen.\n\nChange-Id: I455e0a4d58e78168ba4f5c55cd272232d4120ab3\n"
    },
    {
      "commit": "c167df08a8550d8c6c7ccf12b7df4fa6bfc6d432",
      "tree": "7e093ebd92c221d62973d1339964c011fca316d5",
      "parents": [
        "0ea78c9ca7c70515c81681af05a65ec4dc32a542"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Mon Apr 11 19:42:43 2016 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Mon Apr 11 19:45:00 2016 +0900"
      },
      "message": "Add missing whitespace\n\nChange-Id: I9061fb18ad808e51afa8eb0946d42d346afcd7c9\n"
    },
    {
      "commit": "0ea78c9ca7c70515c81681af05a65ec4dc32a542",
      "tree": "b2888435f77fe8c285fb93e3e4a3f1a73b1d6811",
      "parents": [
        "47c74e2da9443e028d8d52d95791e0cd15add822"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Tue Mar 08 10:01:30 2016 -0800"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Tue Mar 08 10:01:30 2016 -0800"
      },
      "message": "Use renamed PatchSetApproval#isLegacySubmit method\n\nChange-Id: Icb71649faf693e390328a827e13a32c86e69e828\n"
    },
    {
      "commit": "47c74e2da9443e028d8d52d95791e0cd15add822",
      "tree": "d565a73a7eb7b513d57c366956827d03d5cfadc5",
      "parents": [
        "d383ad3b52ecd2bf0f082b5c03e8e4dfcc121350"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Wed Feb 10 14:45:06 2016 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Mon Feb 15 11:09:44 2016 +0100"
      },
      "message": "ExportReviewNotes: Load changes from notedb if enabled\n\nMake sure that change notes are created only once.\n\nChange-Id: Ie9b936cbedc333c0d7697af706900187a34e7060\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "d383ad3b52ecd2bf0f082b5c03e8e4dfcc121350",
      "tree": "7f54c96edd738488cf64ce525bf0cb9112b22567",
      "parents": [
        "552001eeaf6ffbfdb1f1ecd08cd9b34c94ca7ed8"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Wed Feb 10 09:58:52 2016 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Wed Feb 10 09:58:52 2016 +0100"
      },
      "message": "ExportReviewNotes: Simplify code by using Multimap\n\nChange-Id: Ide4a7ce1837d90ad6c60ffa29365ba3733150958\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "552001eeaf6ffbfdb1f1ecd08cd9b34c94ca7ed8",
      "tree": "bf72d420ecc33cdfc0d9da5802709253a97e670d",
      "parents": [
        "34678f04b28c02cda754dd49c9dd99ff4db60415"
      ],
      "author": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Tue Feb 02 16:22:47 2016 +0100"
      },
      "committer": {
        "name": "Edwin Kempin",
        "email": "ekempin@google.com",
        "time": "Tue Feb 02 17:49:07 2016 +0100"
      },
      "message": "Use ChangeNotes to load change\n\nChange-Id: Ibdeda2e7e61e8d8289a6f648d6035b99e0ad9738\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\n"
    },
    {
      "commit": "34678f04b28c02cda754dd49c9dd99ff4db60415",
      "tree": "94d6ad668d1080b2b03966fb14b2ff4f3052343e",
      "parents": [
        "26f38c4514687c388472be19c9789eaa84b1d564"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Jan 14 16:47:40 2016 -0500"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Jan 14 16:47:41 2016 -0500"
      },
      "message": "Remove usage of deleted PatchSetAccess#byRevision method\n\nChange-Id: I2379f61972807aa3b9cdbff3d2cae4188a35d137\n"
    },
    {
      "commit": "26f38c4514687c388472be19c9789eaa84b1d564",
      "tree": "bcbd88f8457ccfe893f16187c02287f2c2d50023",
      "parents": [
        "b19086265e7cb3c23b9fbf7193fbbd16eadc3bf0"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Thu Aug 27 14:09:55 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Thu Aug 27 17:32:03 2015 +0900"
      },
      "message": "Open Repository in try-with-resource\n\nChange-Id: I1db2801764b8da9e2a857dc94e515122920c880f\n"
    },
    {
      "commit": "b19086265e7cb3c23b9fbf7193fbbd16eadc3bf0",
      "tree": "62eed73d1feabd83dc574f4a961b75ff59f97d45",
      "parents": [
        "d81e2d6d3edc27c7aceea47518cbb03fb5590f11"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Thu Aug 27 12:19:03 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Thu Aug 27 17:18:07 2015 +0900"
      },
      "message": "Open review DB in try-with-resource\n\nChange-Id: I81357a357c9c2f589dab5801a435a475cf41da5b\n"
    }
  ],
  "next": "d81e2d6d3edc27c7aceea47518cbb03fb5590f11"
}
