)]}'
{
  "commit": "8a2c76941729629dce06e2238464e114f2ccc79a",
  "tree": "d8b66eb5d0527f34bb7c56b509f5cf65fd8fb9e2",
  "parents": [
    "90df7c123ecac9ae75a189b761a2599d5fba3565"
  ],
  "author": {
    "name": "Thomas Wolf",
    "email": "thomas.wolf@paranor.ch",
    "time": "Sun Feb 20 18:11:49 2022 +0100"
  },
  "committer": {
    "name": "Matthias Sohn",
    "email": "matthias.sohn@sap.com",
    "time": "Sun Mar 06 17:30:01 2022 +0100"
  },
  "message": "[push] support the \"matching\" RefSpecs \":\" and \"+:\"\n\nThe implementation of push.default\u003dmatching was not correct.\nIt used the RefSpec \"refs/heads/*:refs/heads/*\", which would push\n_all_ local branches. But \"matching\" must push only those local\nbranches for which a remote branch with the same name already exists\nat the remote.\n\nThis RefSpec can be expanded only once the advertisement from the\nremote has been received.\n\nEnhance RefSpec so that \":\" and \"+:\" can be represented. Introduce a\nspecial RemoteRefUpdate for such a RefSpec; it must carry through the\nfetch RefSpecs to be able to fill in the remote tracking updates as\nneeded. Implement the expansion in PushProcess.\n\nBug: 353405\nChange-Id: I54a4bfbb0a6a7d77b9128bf4a9c951d6586c3df4\nSigned-off-by: Thomas Wolf \u003cthomas.wolf@paranor.ch\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1a1f5b487eba8015547990b26bb2aa885460a361",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PushCommandTest.java",
      "new_id": "6f7aa63edc6b64f974c36740bde50ab2c8455357",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PushCommandTest.java"
    },
    {
      "type": "modify",
      "old_id": "5569bca23c187266ca12f2b799c80251bcd1df01",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/RefSpecTest.java",
      "new_id": "b56308cb722dd1dbdd1f59a3208ad93482ba5a65",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/RefSpecTest.java"
    },
    {
      "type": "modify",
      "old_id": "4f57f351272a79beda2d2fa0822e410f9cbec910",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java",
      "new_id": "08353dfdfa08579e8536a17a58b2ccf603cce5dc",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java"
    },
    {
      "type": "modify",
      "old_id": "c4f276988c399e534c2fa9525102fc37e19f2ce3",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/transport/PushProcess.java",
      "new_id": "c76cee6984a89a0b6cef703fb6551c996e074451",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/transport/PushProcess.java"
    },
    {
      "type": "modify",
      "old_id": "ac357afdae8f1ac5573317f9f5b9b32edc42dc99",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/transport/RefSpec.java",
      "new_id": "51fda84f336eac15cd217ddad3029d31a0f7a8bb",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/transport/RefSpec.java"
    },
    {
      "type": "modify",
      "old_id": "43eaac792735cec02cdd62d0674980b3c3990641",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/transport/RemoteRefUpdate.java",
      "new_id": "b90ae813e4919cd7d29793e7ac32ea5dd6ec7b16",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/transport/RemoteRefUpdate.java"
    },
    {
      "type": "modify",
      "old_id": "1245f78a6ebc41601d7499e4e0b79fb46f1e8c96",
      "old_mode": 33188,
      "old_path": "org.eclipse.jgit/src/org/eclipse/jgit/transport/Transport.java",
      "new_id": "0eab4434ed59ccd8d1279f576be76bd99446e525",
      "new_mode": 33188,
      "new_path": "org.eclipse.jgit/src/org/eclipse/jgit/transport/Transport.java"
    }
  ]
}
