)]}'
{
  "commit": "b8a8281b1785358bd5632a119c016f21811172c6",
  "tree": "e3603652823279ecd667609d258cba5f8175f1f4",
  "parents": [
    "dcdf82bbc1ef310379f746518b2dd3b006353cb3"
  ],
  "author": {
    "name": "Adam Israel",
    "email": "adam.israel@canonical.com",
    "time": "Wed Mar 27 14:50:11 2019 -0400"
  },
  "committer": {
    "name": "Adam Israel",
    "email": "adam.israel@canonical.com",
    "time": "Wed Mar 27 14:50:11 2019 -0400"
  },
  "message": "Squashed \u0027modules/libjuju/\u0027 changes from c50c361..c127833\n\nc127833 Bump version and changelog for release\n6aff679 k8s bundles no longer have application placement (#293)\n1de9ad1 Add retry for connection if all endpoints fail (#288)\n8cb8d75 Support generation of registration string for model sharing. (#279)\na9e2fd6 Add Twine for dist upload on release (#284)\n407a6a6 Update and prepare for 0.11.2 release (#282)\nd102620 call related update credential cloud facade methods based on facade version (#281)\n2acbdc4 Add test case for redirect during connect (#275)\n35fb43e Implement App.get_resources and pinned resources in bundles (#278)\nb5ba51a Bump version and changelog for release\n7a73a0a Fix bundles with subordinates for Juju \u003c2.5 (#277)\na0f950f Bump version and changelog for release\n01125e2 Updates for new Juju version (#274)\n87d9388 Fix wrong variable name in revoke_model function (#271)\n2b43065 Bump version and changelog for release\n98ee524 set include_stats to false to reduce request time (#266)\n61e1d69 Update version and changelog for 0.10.1\n82f9968 Retry ssh in manual provision test (#265)\nd64bfff Clean up lint and add lint coverage to travis config (#263)\nc7c5c54 Increase the timeout for charmstore connections (#262)\n4a6e398 Fix log level of `Driver connected to juju` message (#258)\n514e479 Update version and changelog for 0.10.0\nec2c493 Reorder scp parameters (#259) (#260)\n26c86c8 Implement set/get model constraints (#253)\nc6b4ab4 Update version and changelog for 0.9.1\ne863746 Update websockets to 6.0 (#254)\n567bc1a Update version and changelog for 0.9.0\nb275ced python3.7 compatibility updates (#251)\nbc7336a Handle juju not installed in is_bootstrapped. (#250)\n1ce8e0b Add app.reset_config(list). (#249)\nc620d4f Implement model.get_action_status (#248)\n96ea3c4 Fix `make client` in Python 3.6 (#247)\n61969ea Update version and changelog for release\nebf6882 Add support for adding a manual (ssh) machine (#240)\n18422f4 Backwards compatibility fixes (#213)\n40c0211 Implement model.get_action_output (#242)\nc6b8ac5 Fix JSON serialization error for bundle with lxd to unit placement (#243)\n5014fc3 Fix reference in docs to connect_current (#239)\nebe0193 Wrap machine agent status workaround in version check (#238)\n462989b Convert seconds to nanoseconds for juju.unit.run (#237)\n0f413e6 Fix spurious intermittent failure in test_machines.py::test_status (#236)\nce36b60 Define an unused juju-zfs lxd storage pool (#235)\ndfc2e8d Add support for Application get_actions (#234)\ne7e8c13 Update version and changelog for release\n499337b Surface errors from bundle plan (#233)\n2d94186 Always send auth-tag even with macaroon auth (#217)\n000355c Inline jsonfile credential when sending to controller (#231)\n9805123 Bump VERSION and changelog for release\n27d723b Always parse tags and spaces constraints to lists (#228)\n668945a Doc index improvements (#211)\n65e6b5e Add doc req to force newer pymacaroons to fix RTD builds\ne2abd47 Fix dependency conflict for building docs\n2907a6e Bump VERSION and changelog for 0.7.3 release\n37a7500 Full macaroon bakery support (#206)\na06e313 Fix regression with deploying local charm, add test case (#209)\n75e9a2b Expose a machines series (#208)\n46c98f5 Revert non-functional switch to Py3.6, just specify Py3 instead (#205)\n8a99ad1 Cherry-pick VERSION and changelog bump from 0.7.2 release branch\n88121d6 Support deploying bundle YAML file directly (rather than just directory) (#202)\n57c0dbf Cherry-pick #197 into master (#198)\n0973edc Update VERSION and changelog for 0.7.0\nf5a4108 Add deprecated placeholder for Controller.get_models\n17dffa4 JujuData abstract base class (#194)\n76f22cc Make Model and Controller connect methods backwardly compatible (#196)\n19b5658 Fix race condition in adding relations (#192)\n978f35c refactor connections prior to bakery authentication (#187)\n77c0f04 sort all imports; lint tests (#188)\n4740935 juju.client.gocookies: new module (#186)\n2c4de22 all: use pyrfc3339 instead of dateutil (#185)\n7133ffe juju/client: factor out JujuData class (#182)\n476b832 Fix race condition in connection monitor test (#183)\ne64a5d1 Fix example in README (#178)\n97355cc Fix rare hang during Unit.run (#177)\nae0b091 #176: Fix licensing quirks\nc0d001b Refactor model handling (#171)\nab807c8 Refactor users handling, add get_users (#170)\n5270db5 Upload credential to controller when adding model (#168)\n16d8390 Support \u0027applications\u0027 key in bundles (#165)\n2de3eed Improve handling of thread error handling for loop.run() (#169)\n7807023 Fix encoding when using to_json() (#166)\n73effb1 Fix intermittent test failures (#167)\n46da148 Update VERSION and changelog for release\n3dda1dc Fix test failures (#163)\n14392af removing cli command to add ssh keys (#161)\nce68170 Make Application.upgrade_charm upgrade resources (#158)\n\ngit-subtree-dir: modules/libjuju\ngit-subtree-split: c12783304945fdff5c28397b82b535a9cc065ca3\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "866a7851f2a46c0b305493a063022b1acc7e3f31",
      "old_mode": 33188,
      "old_path": ".gitignore",
      "new_id": "6d00feccd558ce239558b88d5a8239f9c5a5037a",
      "new_mode": 33188,
      "new_path": ".gitignore"
    },
    {
      "type": "modify",
      "old_id": "0a57c38ef8f0597a8cef0d94fff9238921ef6f04",
      "old_mode": 33188,
      "old_path": ".travis.yml",
      "new_id": "5edfef596928bb9cd87bafebd86a1ef6c7b237ad",
      "new_mode": 33188,
      "new_path": ".travis.yml"
    },
    {
      "type": "modify",
      "old_id": "2e59306203f5c38abc65a4521aa53bf8c94e33fa",
      "old_mode": 33188,
      "old_path": "Makefile",
      "new_id": "593813226f37f2aba9b6537f901c46968a905e30",
      "new_mode": 33188,
      "new_path": "Makefile"
    },
    {
      "type": "modify",
      "old_id": "a918a2aa18d5bec6a8bb93891a7a63c243111796",
      "old_mode": 33188,
      "old_path": "VERSION",
      "new_id": "1a96df19c09af6513a57f1a11282a98d09da6167",
      "new_mode": 33188,
      "new_path": "VERSION"
    },
    {
      "type": "modify",
      "old_id": "898da626d8c07a7b637ceab5c2a199e6eb473c9b",
      "old_mode": 33188,
      "old_path": "docs/_extensions/automembersummary.py",
      "new_id": "cfe0b84b857c51ce323f846f6e6dc70075667524",
      "new_mode": 33188,
      "new_path": "docs/_extensions/automembersummary.py"
    },
    {
      "type": "modify",
      "old_id": "6a699c0f0535593a3dbfce1f018adedc426eb346",
      "old_mode": 33188,
      "old_path": "docs/api/juju.client.rst",
      "new_id": "dad691f8396691baa4f1af43ed0c4e3ea915c585",
      "new_mode": 33188,
      "new_path": "docs/api/juju.client.rst"
    },
    {
      "type": "modify",
      "old_id": "bf06f262126558dc1e0912bf15997f6cd458439d",
      "old_mode": 33188,
      "old_path": "docs/api/modules.rst",
      "new_id": "9722a6afb699adc70b30b1f9719062517fa562a1",
      "new_mode": 33188,
      "new_path": "docs/api/modules.rst"
    },
    {
      "type": "modify",
      "old_id": "9da0cdcb5c0800736b4e7e55d873a4facaa5ba03",
      "old_mode": 33188,
      "old_path": "docs/changelog.rst",
      "new_id": "039b4684cdd8cddedbf04e65e87b8aab85153fda",
      "new_mode": 33188,
      "new_path": "docs/changelog.rst"
    },
    {
      "type": "modify",
      "old_id": "b4b075fddc337323bd6ecb26c5559f5a80340713",
      "old_mode": 33188,
      "old_path": "docs/index.rst",
      "new_id": "2dd55cb82ee297c40c8d94e97db84519251c6393",
      "new_mode": 33188,
      "new_path": "docs/index.rst"
    },
    {
      "type": "modify",
      "old_id": "2da0e7b68ea9e1728998945f83382dcf65b27461",
      "old_mode": 33188,
      "old_path": "docs/narrative/controller.rst",
      "new_id": "1d8632159caf30a9dddedb94c606cef3146b23f6",
      "new_mode": 33188,
      "new_path": "docs/narrative/controller.rst"
    },
    {
      "type": "modify",
      "old_id": "eb77e4ca8b7bed5a8e86e56f7bed201d7714076a",
      "old_mode": 33188,
      "old_path": "docs/narrative/index.rst",
      "new_id": "b1684a0e1f7039715f1a60867f812a7a30e9af94",
      "new_mode": 33188,
      "new_path": "docs/narrative/index.rst"
    },
    {
      "type": "modify",
      "old_id": "57dbc810f07aab33b339f418b05d6b2a57ea4b80",
      "old_mode": 33188,
      "old_path": "docs/narrative/model.rst",
      "new_id": "42633a1cb000b97d70656d875b5b43dd2145f14d",
      "new_mode": 33188,
      "new_path": "docs/narrative/model.rst"
    },
    {
      "type": "modify",
      "old_id": "ecfbc5a4b90600949baf988ac55e1da585a7265d",
      "old_mode": 33188,
      "old_path": "docs/readme.rst",
      "new_id": "87666d0ba3c9781881f2448ba075911b3bc74e6f",
      "new_mode": 33188,
      "new_path": "docs/readme.rst"
    },
    {
      "type": "modify",
      "old_id": "06377bf02d6d7133e68ea8e5d13975600f74f58a",
      "old_mode": 33188,
      "old_path": "docs/requirements.txt",
      "new_id": "dabf3a01bdaf19edfb27d184fe531d04f7bd9afb",
      "new_mode": 33188,
      "new_path": "docs/requirements.txt"
    },
    {
      "type": "modify",
      "old_id": "52099e66c4412065e896fb1af99ec05ffe38dffa",
      "old_mode": 33188,
      "old_path": "docs/upstream-updates/index.rst",
      "new_id": "41f448adf349374d27d80a9f1d259549c2f0446b",
      "new_mode": 33188,
      "new_path": "docs/upstream-updates/index.rst"
    },
    {
      "type": "modify",
      "old_id": "0f25647d78d147c13ef8258d9773bbcd24ec069b",
      "old_mode": 33188,
      "old_path": "examples/action.py",
      "new_id": "f839f1122dc1a597a3df1e6e4fec14b63c75a63f",
      "new_mode": 33188,
      "new_path": "examples/action.py"
    },
    {
      "type": "modify",
      "old_id": "8ae2d4029e6265a2e0bd4ad31d7ebd21bc9e3e77",
      "old_mode": 33261,
      "old_path": "examples/add_machine.py",
      "new_id": "33d0c34081f039cd7ea92e50a32927b642afdc96",
      "new_mode": 33261,
      "new_path": "examples/add_machine.py"
    },
    {
      "type": "modify",
      "old_id": "3e46490b20f6f45fcb89a173407c848467b03c74",
      "old_mode": 33188,
      "old_path": "examples/add_model.py",
      "new_id": "88766f15b08e346515f040a024b3fd56a037ca0c",
      "new_mode": 33188,
      "new_path": "examples/add_model.py"
    },
    {
      "type": "modify",
      "old_id": "c78d689fe9d18588791bbfb8cf15b4f8e5617aa0",
      "old_mode": 33188,
      "old_path": "examples/allwatcher.py",
      "new_id": "884230ba832ae731e798df22a4c46cf011e86721",
      "new_mode": 33188,
      "new_path": "examples/allwatcher.py"
    },
    {
      "type": "modify",
      "old_id": "bacc840a04e56f7d040b5a909e80ea1c0acb97c7",
      "old_mode": 33188,
      "old_path": "examples/config.py",
      "new_id": "c7580f6300f53e5c6f1f3f88465800637bacb20f",
      "new_mode": 33188,
      "new_path": "examples/config.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b46a09c6150b6a45ac01fd7c5115099c6735d664",
      "new_mode": 33188,
      "new_path": "examples/connect_current_model.py"
    },
    {
      "type": "modify",
      "old_id": "6002f683632fa3655d40887717a8eb7cfce70e9f",
      "old_mode": 33188,
      "old_path": "examples/controller.py",
      "new_id": "b61a6f6d19d6a49df8a0c1886c38bf8d22d7b83a",
      "new_mode": 33188,
      "new_path": "examples/controller.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e653536bc2f18aa6c738bebbbca30c6f4a32413f",
      "new_mode": 33188,
      "new_path": "examples/credential.py"
    },
    {
      "type": "modify",
      "old_id": "e6c306a1aeedea0f7bd335d10576b95b18aa39e2",
      "old_mode": 33188,
      "old_path": "examples/deploy.py",
      "new_id": "43764d7f690db735c9a09c35237bd14ce5037f8a",
      "new_mode": 33188,
      "new_path": "examples/deploy.py"
    },
    {
      "type": "modify",
      "old_id": "cdaf51def7f1fc06f076ab0abea1a7a304b9473c",
      "old_mode": 33188,
      "old_path": "examples/fullstatus.py",
      "new_id": "554842390a73c7cd895cf4fefc4f58fc856cf2e0",
      "new_mode": 33188,
      "new_path": "examples/fullstatus.py"
    },
    {
      "type": "modify",
      "old_id": "01803255494c8fb594e584251a20a5ee82f991ac",
      "old_mode": 33188,
      "old_path": "examples/future.py",
      "new_id": "5e974cfc95ef15c60d50e86a05b7f217d757884b",
      "new_mode": 33188,
      "new_path": "examples/future.py"
    },
    {
      "type": "modify",
      "old_id": "b231003783a0827393750909ff64fa84fc82e372",
      "old_mode": 33188,
      "old_path": "examples/leadership.py",
      "new_id": "dbd1b6e2a302f9806e55833dc9d6ae793374306a",
      "new_mode": 33188,
      "new_path": "examples/leadership.py"
    },
    {
      "type": "modify",
      "old_id": "47eb999b528e5cb281f092b3b2f0458986889af1",
      "old_mode": 33188,
      "old_path": "examples/livemodel.py",
      "new_id": "1b10ac92352542c3eb5444c1c1a6631fc824c377",
      "new_mode": 33188,
      "new_path": "examples/livemodel.py"
    },
    {
      "type": "modify",
      "old_id": "978703ea72d292bd7723be9f6225b7e83b3cfb13",
      "old_mode": 33188,
      "old_path": "examples/localcharm.py",
      "new_id": "b9481d413c5c2df913b9463dac04aba90d3a59ca",
      "new_mode": 33188,
      "new_path": "examples/localcharm.py"
    },
    {
      "type": "modify",
      "old_id": "8f1e7082b2ebaf198e4f54144a3d94d746bdc142",
      "old_mode": 33188,
      "old_path": "examples/relate.py",
      "new_id": "347e021dbc3a5cd64148a4e2bdd1cc9ad029770d",
      "new_mode": 33188,
      "new_path": "examples/relate.py"
    },
    {
      "type": "modify",
      "old_id": "3dfacd62e4c078592dc984246aabc2ed27cbc413",
      "old_mode": 33188,
      "old_path": "examples/unitrun.py",
      "new_id": "805f0ae0d3dc9144eb3f115c230fee813506f449",
      "new_mode": 33188,
      "new_path": "examples/unitrun.py"
    },
    {
      "type": "modify",
      "old_id": "8719a629d2153b63374a3959b70f29c89d825793",
      "old_mode": 33188,
      "old_path": "juju/application.py",
      "new_id": "3f7f02e46236259fa8cd9385e61a277c81feb38f",
      "new_mode": 33188,
      "new_path": "juju/application.py"
    },
    {
      "type": "modify",
      "old_id": "d510e1145cd226f47ee9a50ccbbf9a52b1b61011",
      "old_mode": 33188,
      "old_path": "juju/client/_client.py",
      "new_id": "c9fdef289f08456b7019adbce5f7e7cddfb94965",
      "new_mode": 33188,
      "new_path": "juju/client/_client.py"
    },
    {
      "type": "modify",
      "old_id": "377405641787e82ec740cf476995dd8ee0cc8158",
      "old_mode": 33188,
      "old_path": "juju/client/_client1.py",
      "new_id": "dd84e78d0f6b448847bd73f76d1c765419691bc0",
      "new_mode": 33188,
      "new_path": "juju/client/_client1.py"
    },
    {
      "type": "modify",
      "old_id": "283e8036655c996f0b4013616ecdbb3c17d6fddd",
      "old_mode": 33188,
      "old_path": "juju/client/_client2.py",
      "new_id": "4b5b518548fdf9038c8666b8408402ab2eeb6efc",
      "new_mode": 33188,
      "new_path": "juju/client/_client2.py"
    },
    {
      "type": "modify",
      "old_id": "3f9ef5593419e99a50067e30454860112cf8275f",
      "old_mode": 33188,
      "old_path": "juju/client/_client3.py",
      "new_id": "a63faa80447e49dc0215f2552c238f8cdd05f5e1",
      "new_mode": 33188,
      "new_path": "juju/client/_client3.py"
    },
    {
      "type": "modify",
      "old_id": "68ee3f96a60f8a4895ebae593719d4f38372fd12",
      "old_mode": 33188,
      "old_path": "juju/client/_client4.py",
      "new_id": "2795b2c224f55a5b3f41525750caa47eacc93e17",
      "new_mode": 33188,
      "new_path": "juju/client/_client4.py"
    },
    {
      "type": "modify",
      "old_id": "22805edd0731ca09e2d2b15c54625f30b7b86a60",
      "old_mode": 33188,
      "old_path": "juju/client/_client5.py",
      "new_id": "51d36f3936638c0687998940555598140a2c843f",
      "new_mode": 33188,
      "new_path": "juju/client/_client5.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1d6cd4884312cce16875d06b981b65d409eda84d",
      "new_mode": 33188,
      "new_path": "juju/client/_client7.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "35d3caf546997ac4a3e9ab5b7bbe7a7b734d8898",
      "new_mode": 33188,
      "new_path": "juju/client/_client8.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d87dd8fc1ac8e56ee59445fd757687e35524c73c",
      "new_mode": 33188,
      "new_path": "juju/client/_client9.py"
    },
    {
      "type": "modify",
      "old_id": "198784d34dfdfe7839fc3fdc4c741d8028233f89",
      "old_mode": 33188,
      "old_path": "juju/client/_definitions.py",
      "new_id": "71223080f44e81eb752bbae941e685165a0382d8",
      "new_mode": 33188,
      "new_path": "juju/client/_definitions.py"
    },
    {
      "type": "modify",
      "old_id": "89b52487664040baabcf5ae6914e13886682660f",
      "old_mode": 33188,
      "old_path": "juju/client/client.py",
      "new_id": "2721d07f9bdc9a909c9514a8f3841e688a240369",
      "new_mode": 33188,
      "new_path": "juju/client/client.py"
    },
    {
      "type": "modify",
      "old_id": "7457391877e481c1c237e3bdc8c68a8e6cdadd65",
      "old_mode": 33188,
      "old_path": "juju/client/connection.py",
      "new_id": "f2150b7dc44481b6e43b0ed844dd2c9b1ea16a91",
      "new_mode": 33188,
      "new_path": "juju/client/connection.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a30adbffa7811503421fff1ff81c4cf4b4b284fa",
      "new_mode": 33188,
      "new_path": "juju/client/connector.py"
    },
    {
      "type": "modify",
      "old_id": "c959e01649964a9a5eb955e2fc0829ebabfcc90f",
      "old_mode": 33188,
      "old_path": "juju/client/facade.py",
      "new_id": "ec20c38bfe1bcd6d2308e4eb97754bf4cdbf73f8",
      "new_mode": 33188,
      "new_path": "juju/client/facade.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3e48b8d2abd28968ffb6639a4f154c3b2ad1b0c8",
      "new_mode": 33188,
      "new_path": "juju/client/gocookies.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8b844c28b63cafd737a0ae0f768cee1df2870312",
      "new_mode": 33188,
      "new_path": "juju/client/jujudata.py"
    },
    {
      "type": "modify",
      "old_id": "f439adb466645812e09492bd24ca9003b639996e",
      "old_mode": 33188,
      "old_path": "juju/client/overrides.py",
      "new_id": "49ab931b1a19ad30ab512ccd80b713182fa840db",
      "new_mode": 33188,
      "new_path": "juju/client/overrides.py"
    },
    {
      "type": "modify",
      "old_id": "61f2963361fb9b42e1b629490879d843cc684fd6",
      "old_mode": 33188,
      "old_path": "juju/client/runner.py",
      "new_id": "6545bc413eada7bb8007d04f634deb51ba8564e3",
      "new_mode": 33188,
      "new_path": "juju/client/runner.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b53dd0b13611681d24ea35373e26dfcc8647c143",
      "new_mode": 33188,
      "new_path": "juju/client/schemas-juju-2.5-rc1.json"
    },
    {
      "type": "modify",
      "old_id": "6a2593edcd2d3df19d0ba969dba11d1af5ca9140",
      "old_mode": 40960,
      "old_path": "juju/client/schemas-juju-latest.json",
      "new_id": "37e41ea843ac1a5a1a8a94737dcd91765354ff37",
      "new_mode": 40960,
      "new_path": "juju/client/schemas-juju-latest.json"
    },
    {
      "type": "modify",
      "old_id": "998862d02508499dd28d0f20983e1f5858498213",
      "old_mode": 33188,
      "old_path": "juju/constraints.py",
      "new_id": "00506735a8df141431378ccc7e69c2c1828bd20e",
      "new_mode": 33188,
      "new_path": "juju/constraints.py"
    },
    {
      "type": "modify",
      "old_id": "9b452c7c88b0fa3c086d3263217da3973dc08674",
      "old_mode": 33188,
      "old_path": "juju/controller.py",
      "new_id": "d3902ba1135f41f2520171b27e22b3e149db9927",
      "new_mode": 33188,
      "new_path": "juju/controller.py"
    },
    {
      "type": "modify",
      "old_id": "de5217455db39d6a6dd4f1da56bbcfbd129296bc",
      "old_mode": 33188,
      "old_path": "juju/errors.py",
      "new_id": "da11cdb48af1315f7027a64bbba2e7b6a786eb61",
      "new_mode": 33188,
      "new_path": "juju/errors.py"
    },
    {
      "type": "modify",
      "old_id": "a9fcbbeb20d5e4e8fbdd357c1e9eff9f9ce20322",
      "old_mode": 33188,
      "old_path": "juju/juju.py",
      "new_id": "444155f1ae543c2fd831e83e87f4069978a6b8be",
      "new_mode": 33188,
      "new_path": "juju/juju.py"
    },
    {
      "type": "modify",
      "old_id": "4abedfcc38f708185f6f20221b5cbe1e70dd868a",
      "old_mode": 33188,
      "old_path": "juju/loop.py",
      "new_id": "aca726b081d1baa06483e17213658c7f621a66bf",
      "new_mode": 33188,
      "new_path": "juju/loop.py"
    },
    {
      "type": "modify",
      "old_id": "23b41c614bd36019140c136255fed8ab6ff72188",
      "old_mode": 33188,
      "old_path": "juju/machine.py",
      "new_id": "39bfa119195b864e32500f0a8fed49f2d0509f48",
      "new_mode": 33188,
      "new_path": "juju/machine.py"
    },
    {
      "type": "modify",
      "old_id": "bd8709a3bfa057a68319d0a5d732b8c54a55d8d7",
      "old_mode": 33188,
      "old_path": "juju/model.py",
      "new_id": "bd7d43077d9e238cf40d5170a99850a732c34b23",
      "new_mode": 33188,
      "new_path": "juju/model.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "da8be16ba3d228d4d61484016d920082d6a71218",
      "new_mode": 33188,
      "new_path": "juju/provisioner.py"
    },
    {
      "type": "modify",
      "old_id": "ef8946aa56a0994cd19612c01e2818b4e4fbfd04",
      "old_mode": 33188,
      "old_path": "juju/relation.py",
      "new_id": "d2f2053027fecc7fcc326fb40f9c1c89c3609f0f",
      "new_mode": 33188,
      "new_path": "juju/relation.py"
    },
    {
      "type": "modify",
      "old_id": "25142293141ca15eb390af5a15a0dafa91acd362",
      "old_mode": 33188,
      "old_path": "juju/tag.py",
      "new_id": "282e0a6edb2f5da1bb187b6c25bf31a3b725e364",
      "new_mode": 33188,
      "new_path": "juju/tag.py"
    },
    {
      "type": "modify",
      "old_id": "fc597bf15ed57e48729176b497366487381f7e16",
      "old_mode": 33188,
      "old_path": "juju/unit.py",
      "new_id": "e8ecd960687a42191c8ada84ac21eeb2e52937f5",
      "new_mode": 33188,
      "new_path": "juju/unit.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "389d210e88473e606cd5f6f2c799f0d8646939e5",
      "new_mode": 33188,
      "new_path": "juju/user.py"
    },
    {
      "type": "modify",
      "old_id": "1d1b24ecd647089ebb335a706350fa61dc29a52a",
      "old_mode": 33188,
      "old_path": "juju/utils.py",
      "new_id": "1038ed1ee578c594a1b6161fe9cefc9821f0cee9",
      "new_mode": 33188,
      "new_path": "juju/utils.py"
    },
    {
      "type": "modify",
      "old_id": "df12cfed2c24c76029ae5f66d782bb9917f07f47",
      "old_mode": 33188,
      "old_path": "setup.py",
      "new_id": "01036da711c0afbfd8734b716d67f35266c263cd",
      "new_mode": 33188,
      "new_path": "setup.py"
    },
    {
      "type": "modify",
      "old_id": "e1ec45238228e284ba41294b6f08161d89cae0f9",
      "old_mode": 33188,
      "old_path": "tests/base.py",
      "new_id": "600372cfba017a8e0cef83cdc3465281e7fb4472",
      "new_mode": 33188,
      "new_path": "tests/base.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2e51c1e16b66d73bd05c54c5d6f98b84a4ec11d7",
      "new_mode": 33188,
      "new_path": "tests/bundle/invalid.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "84d9a61d25dc54c0aa86806fe9e2a4191c42c8eb",
      "new_mode": 33188,
      "new_path": "tests/bundle/mini-bundle.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c8feb8306db1f8269e0bb5e323cd66090c762fb8",
      "new_mode": 33188,
      "new_path": "tests/integration/bundle/bundle-resource-rev.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "684029ef8862550d5d85a3814f17c5e69117135c",
      "new_mode": 33188,
      "new_path": "tests/integration/cert.pem"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "664123e26b37e03b0e2efc09b139e2608954e02e",
      "new_mode": 33188,
      "new_path": "tests/integration/key.pem"
    },
    {
      "type": "modify",
      "old_id": "1a4fcaabd027ce853f027cd50be2a3575dda21bd",
      "old_mode": 33188,
      "old_path": "tests/integration/test_application.py",
      "new_id": "b7058322894c14e4e6b92d74f8e874a1f922919d",
      "new_mode": 33188,
      "new_path": "tests/integration/test_application.py"
    },
    {
      "type": "modify",
      "old_id": "e4c9c92b928290ab17355e06bdc2a6718a9dba98",
      "old_mode": 33188,
      "old_path": "tests/integration/test_client.py",
      "new_id": "240c471aa5c5c6a7918a0e285aec326bb9f3b511",
      "new_mode": 33188,
      "new_path": "tests/integration/test_client.py"
    },
    {
      "type": "modify",
      "old_id": "290203d471dcaa6e666ed356be6eea97bca1278d",
      "old_mode": 33188,
      "old_path": "tests/integration/test_connection.py",
      "new_id": "6647a03646d56f7c87485e8dfae09c35f427f6f7",
      "new_mode": 33188,
      "new_path": "tests/integration/test_connection.py"
    },
    {
      "type": "modify",
      "old_id": "f3840cc4f6fd10c671753630cd8be185207fad26",
      "old_mode": 33188,
      "old_path": "tests/integration/test_controller.py",
      "new_id": "6423a98892c6b43b39322a84a65bfe8b3949e830",
      "new_mode": 33188,
      "new_path": "tests/integration/test_controller.py"
    },
    {
      "type": "modify",
      "old_id": "06b38260e69ae21022c3dd8f9fa2a6a81e7b6258",
      "old_mode": 33188,
      "old_path": "tests/integration/test_errors.py",
      "new_id": "b10dd06e4bcd92349b6223ffdf245c76cb777049",
      "new_mode": 33188,
      "new_path": "tests/integration/test_errors.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9911c41f020bdcac6939ed3a8d8a896c4a2161a9",
      "new_mode": 33188,
      "new_path": "tests/integration/test_macaroon_auth.py"
    },
    {
      "type": "modify",
      "old_id": "60de035244f75b946be3619e618b3bc9d44b2d7a",
      "old_mode": 33188,
      "old_path": "tests/integration/test_machine.py",
      "new_id": "070208a568fbe639fde52a1235a03cfbbfab0f51",
      "new_mode": 33188,
      "new_path": "tests/integration/test_machine.py"
    },
    {
      "type": "modify",
      "old_id": "85067864dc3b76d3786e6f423d59f569b37226fa",
      "old_mode": 33188,
      "old_path": "tests/integration/test_model.py",
      "new_id": "93695b55ab7530465e6c0ce248b3870da2fed972",
      "new_mode": 33188,
      "new_path": "tests/integration/test_model.py"
    },
    {
      "type": "modify",
      "old_id": "1604c311cb5f403b61e61cf9d94cb4a109f34ed9",
      "old_mode": 33188,
      "old_path": "tests/integration/test_unit.py",
      "new_id": "bb349699faa796a51e5cd81b1d2d0491bd491aed",
      "new_mode": 33188,
      "new_path": "tests/integration/test_unit.py"
    },
    {
      "type": "modify",
      "old_id": "7828cf3030b9e9d288988373384e93cbc2c98db2",
      "old_mode": 33188,
      "old_path": "tests/unit/test_client.py",
      "new_id": "1d18bf92824381fa34eb12084d651aba266cf93a",
      "new_mode": 33188,
      "new_path": "tests/unit/test_client.py"
    },
    {
      "type": "modify",
      "old_id": "f69b8d6bc2a0a102957f9d1d0a29b59933110472",
      "old_mode": 33188,
      "old_path": "tests/unit/test_connection.py",
      "new_id": "0925d847a9ebf37c3b17f038b35414b444400991",
      "new_mode": 33188,
      "new_path": "tests/unit/test_connection.py"
    },
    {
      "type": "modify",
      "old_id": "cb9d773dbf2e09223167024e342cb5992fc8e5e5",
      "old_mode": 33188,
      "old_path": "tests/unit/test_constraints.py",
      "new_id": "3c520909a862978a1d699b29b01773e32fcbc924",
      "new_mode": 33188,
      "new_path": "tests/unit/test_constraints.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b95b5eeb932776aa4c76ad1f1fbfc7195c20f602",
      "new_mode": 33188,
      "new_path": "tests/unit/test_controller.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "033a0e9ae5df006641353981778e6850bb5ffec0",
      "new_mode": 33188,
      "new_path": "tests/unit/test_gocookies.py"
    },
    {
      "type": "modify",
      "old_id": "f12368efd59949b7bb3c507c95a40706faaa9c47",
      "old_mode": 33188,
      "old_path": "tests/unit/test_loop.py",
      "new_id": "9043df68c8f9b4f3d5a0b8569804777448e64805",
      "new_mode": 33188,
      "new_path": "tests/unit/test_loop.py"
    },
    {
      "type": "modify",
      "old_id": "222d881a6b5c16090fe6f3517e045009c9b72dc4",
      "old_mode": 33188,
      "old_path": "tests/unit/test_model.py",
      "new_id": "2753d853be5a672241d974c876d8e3630045b641",
      "new_mode": 33188,
      "new_path": "tests/unit/test_model.py"
    },
    {
      "type": "modify",
      "old_id": "6485408ad3325f53d9a6180d543b52877e72fa7f",
      "old_mode": 33188,
      "old_path": "tests/unit/test_overrides.py",
      "new_id": "a5835ff298770ad4dec26fc28acc4f58db5eb1bb",
      "new_mode": 33188,
      "new_path": "tests/unit/test_overrides.py"
    },
    {
      "type": "modify",
      "old_id": "a78a28dcb58d754e297ffc29fc587463f1e30edd",
      "old_mode": 33188,
      "old_path": "tests/unit/test_placement.py",
      "new_id": "5a933ecc15e3baa90a420ad8764ea4a170883d02",
      "new_mode": 33188,
      "new_path": "tests/unit/test_placement.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f4fea449674d6f95f0ff8de266beea0840b6ce55",
      "new_mode": 33188,
      "new_path": "tests/unit/test_registration_string.py"
    },
    {
      "type": "modify",
      "old_id": "789bbebdecabf8f09702a6ccac257b36367427ab",
      "old_mode": 33188,
      "old_path": "tox.ini",
      "new_id": "350a1fc114fe79fd5fab38ce2f4fe58cd24ddcd1",
      "new_mode": 33188,
      "new_path": "tox.ini"
    }
  ]
}
