)]}'
{
  "commit": "8e4c8af058d7eb1b887184deb3bf79f3818b3a65",
  "tree": "50b4cd6f2d271ec19feb3aa8c831a628fce46f61",
  "parents": [
    "0d0ac3826a3bbb9247e39e12623bbcfdd722f24c"
  ],
  "author": {
    "name": "Thomas Gummerer",
    "email": "t.gummerer@gmail.com",
    "time": "Mon Sep 02 19:08:28 2019 +0100"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Tue Sep 03 11:16:54 2019 -0700"
  },
  "message": "push: disallow --all and refspecs when remote.\u003cname\u003e.mirror is set\n\nPushes with --all, or refspecs are disallowed when --mirror is given\nto \u0027git push\u0027, or when \u0027remote.\u003cname\u003e.mirror\u0027 is set in the config of\nthe repository, because they can have surprising\neffects. 800a4ab399 (\"push: check for errors earlier\", 2018-05-16)\nrefactored this code to do that check earlier, so we can explicitly\ncheck for the presence of flags, instead of their sideeffects.\n\nHowever when \u0027remote.\u003cname\u003e.mirror\u0027 is set in the config, the\nTRANSPORT_PUSH_MIRROR flag would only be set after we calling\n\u0027do_push()\u0027, so the checks would miss it entirely.\n\nThis leads to surprises for users [*1*].\n\nFix this by making sure we set the flag (if appropriate) before\nchecking for compatibility of the various options.\n\n*1*: https://twitter.com/FiloSottile/status/1163918701462249472\n\nReported-by: Filippo Valsorda \u003cfilippo@ml.filippo.io\u003e\nHelped-by: Saleem Rashid\nSigned-off-by: Thomas Gummerer \u003ct.gummerer@gmail.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8bb8a0849ba90aff5d295acc3894b2034cbbdef2",
      "old_mode": 33188,
      "old_path": "builtin/push.c",
      "new_id": "5896bde06ceabcad33b21aeb94c48d6395491ef2",
      "new_mode": 33188,
      "new_path": "builtin/push.c"
    },
    {
      "type": "modify",
      "old_id": "c05a661400c10cb7574173b34116362d501481ce",
      "old_mode": 33261,
      "old_path": "t/t5517-push-mirror.sh",
      "new_id": "e4edd56404fe636600e3f32eef754c7fb4b6b639",
      "new_mode": 33261,
      "new_path": "t/t5517-push-mirror.sh"
    }
  ]
}
