)]}'
{
  "commit": "d7514f6ed57d20bcc9dcfb43016b95dba82ba790",
  "tree": "e5fb5acb0e4b14f471c5f541edce34671127a140",
  "parents": [
    "090511bc0b73bf3054f11df6f275ad3a3abbf34f"
  ],
  "author": {
    "name": "Derrick Stolee",
    "email": "dstolee@microsoft.com",
    "time": "Thu Sep 17 18:11:48 2020 +0000"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Thu Sep 17 11:30:05 2020 -0700"
  },
  "message": "maintenance: take a lock on the objects directory\n\nPerforming maintenance on a Git repository involves writing data to the\n.git directory, which is not safe to do with multiple writers attempting\nthe same operation. Ensure that only one \u0027git maintenance\u0027 process is\nrunning at a time by holding a file-based lock. Simply the presence of\nthe .git/maintenance.lock file will prevent future maintenance. This\nlock is never committed, since it does not represent meaningful data.\nInstead, it is only a placeholder.\n\nIf the lock file already exists, then no maintenance tasks are\nattempted. This will become very important later when we implement the\n\u0027prefetch\u0027 task, as this is our stop-gap from creating a recursive process\nloop between \u0027git fetch\u0027 and \u0027git maintenance run --auto\u0027.\n\nSigned-off-by: Derrick Stolee \u003cdstolee@microsoft.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "00fff59bdb2c05a4275d1a654b16cc2c89399476",
      "old_mode": 33188,
      "old_path": "builtin/gc.c",
      "new_id": "7ba9c6f7c95c5a2af1842526bf56ee58128495f6",
      "new_mode": 33188,
      "new_path": "builtin/gc.c"
    }
  ]
}
