)]}'
{
  "commit": "94eab9f8d0ded3c91d7ae7f324011747539da47b",
  "tree": "3dcb3d9dff3a5df3169e13d3a33d0bd42b8da6bc",
  "parents": [
    "4b68222c728a8f1386f821bc525a57c90a0ff76b",
    "a3474dd6786ca612caa51ea0ee8ac5a491fcf8b0"
  ],
  "author": {
    "name": "David Pursehouse",
    "email": "dpursehouse@digital.ai",
    "time": "Tue Jun 23 14:36:45 2020 +0900"
  },
  "committer": {
    "name": "David Pursehouse",
    "email": "dpursehouse@digital.ai",
    "time": "Tue Jun 23 14:36:45 2020 +0900"
  },
  "message": "Merge branch \u0027stable-3.0\u0027 into stable-3.1\n\n* stable-3.0:\n  PathToLockId: Refactor to use a FunctionalInterface\n  LfsAuthUserProvider: Refactor to avoid name hiding\n  LfsLocksHandle: Collapse duplicate if-block\n  LfsLocksHandler: Simplify lambda expression\n  LfsLocksHandler: Call Optional#isPresent before #get\n  Use Truth8 to assert about Optional#isPresent\n  LfsCipherTest: Extract repeated string to a constant\n  InitLfs: Remove unnecessary empty overridden method\n  LfsSshAuth: Remove redundant \u0027throws\u0027 declaration\n  LfsGson: Remove unnecessary \u0027throws\u0027 declarations\n  LfsDateTime: Add private constructor to hide default constructor\n  Remove LfsDateTimeTest and dependency on joda-time\n  Bazel: Mark joda-time as test only\n\nChange-Id: I9b9e91ca7c2a7a456832e4811aea59f51386da40\n",
  "tree_diff": []
}
