)]}'
{
  "commit": "6b9a5646225a766f6240e2a1a93a92b82e088aa0",
  "tree": "69b78dd517cd4f914cae253031747c18755cadde",
  "parents": [
    "13f02e8b7607e89096f719b1fa83734bf3332ec6"
  ],
  "author": {
    "name": "Ian Wienand",
    "email": "iwienand@redhat.com",
    "time": "Wed Jul 28 11:19:57 2021 +1000"
  },
  "committer": {
    "name": "Ian Wienand",
    "email": "iwienand@redhat.com",
    "time": "Tue Aug 10 14:22:35 2021 +1000"
  },
  "message": "Revert \"Workaround for new pip 20.3 behavior\"\n\nThis reverts commit 7a3a7ce876a37376fe0dca7278e41a4f46867daa and\nbcd0acf6c0b5d6501e91133c3a937b3fc40f7122 and part of\nf1ed7c77c50ac28cb58c9f7ed885c6a3e0a75403 which all cap our pip\ninstalls.\n\nGiven the pip ecosystem can often incorporate major changes, tracking\nupstream at least generally gives us one problem at a time to solve\nrather than trying to handle version jumps when LTS distros update.\n\nThe new dependency resolver included some changes that disallow\nsetting URL\u0027s like \"file:///path/to/project#egg\u003dproject\" in\nconstraints.  Apparently the fact it used to work was an accident of\nthe requires/constraints mechanism; it does make some sense as the URL\ndoesn\u0027t really have a version-number that the resolver can put in an\nordering graph.\n\nThe _setup_package_with_constraints_edit function comment highlights\nwhat this is trying to do\n\n # Updates the constraints from REQUIREMENTS_DIR to reflect the\n # future installed state of this package. This ensures when we\n # install this package we get the from source version.\n\nIn other words; if constraints has \"foo\u003d\u003d1.2.3\" and Zuul has checked\nout \"foo\" for testing, we have to make sure pip doesn\u0027t choose version\n1.2.3 from pypi.\n\nIt seems like removing the entry from upper-requirements.txt is the\nimportant part; adding the URL path to the on-disk version was just\nsomething that seemed to work at the time, but isn\u0027t really necessary.\nWe will install the package in question which will be the latest\nversion (from Zuul checkout) and without the package in\nupper-requirements.txt nothing will try and downgrade it.\n\nTherefore the solution proposed here is to remove the adding of the\nURL parts.\n\nThis allows us to uncap pip and restore testing with the new\ndependency resolver.\n\nCloses-Bug: #1906322\nChange-Id: Ib9ba52147199a9d6d0293182d5db50c4a567d677\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8941fd038d53b608fb07f8c8b367d0b403f40001",
      "old_mode": 33188,
      "old_path": "inc/python",
      "new_id": "9382d352dcb53cfc33eb9ba6c2cac93b681a854c",
      "new_mode": 33188,
      "new_path": "inc/python"
    },
    {
      "type": "modify",
      "old_id": "3fa7ce0fb296bfbac347b2203e76990a5991858f",
      "old_mode": 33188,
      "old_path": "lib/tempest",
      "new_id": "a1c02ef1834716079454753416c2749a18d6091f",
      "new_mode": 33188,
      "new_path": "lib/tempest"
    },
    {
      "type": "delete",
      "old_id": "8ee551b261171f7f6ae2364df60e4128dbe8a95e",
      "old_mode": 33188,
      "old_path": "tools/cap-pip.txt",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "19219435adaf711982dbe1fe2bb5b5d0a11c9662",
      "old_mode": 33261,
      "old_path": "tools/fixup_stuff.sh",
      "new_id": "8a2c337fc466e60d2fd094bd47d746e1f6a848c9",
      "new_mode": 33261,
      "new_path": "tools/fixup_stuff.sh"
    },
    {
      "type": "modify",
      "old_id": "9afd2e53c274b6735ab275f1ff9a57108bb45e47",
      "old_mode": 33261,
      "old_path": "tools/install_pip.sh",
      "new_id": "0082e9f73ce42875c04fe6e1e481a274b03e7dae",
      "new_mode": 33261,
      "new_path": "tools/install_pip.sh"
    }
  ]
}
