)]}'
{
  "commit": "19e409c81863878d5d313fdc40b3975b98602454",
  "tree": "491d08dbc32c2e5e8acb33fcecff09a5a51613f9",
  "parents": [
    "4a58100251624ddd37c3046611c110fb3077668d"
  ],
  "author": {
    "name": "Mike Frysinger",
    "email": "vapier@google.com",
    "time": "Wed May 05 19:44:35 2021 -0400"
  },
  "committer": {
    "name": "Mike Frysinger",
    "email": "vapier@google.com",
    "time": "Mon May 10 21:10:29 2021 +0000"
  },
  "message": "ssh: move proxy usage to the sync subcommand\n\nThe only time we really need ssh proxies is when we want to run many\nconnections and reuse them.  That only happens when running sync.\nEvery other command makes at most two connections, and even then it\u0027s\nonly one or none.  So the effort of setting up \u0026 tearing down ssh\nproxies isn\u0027t worth it most of the time.\n\nThe big reason we want to move this logic to sync is that it\u0027s now\nusing multiprocessing for parallel work.  The current ssh proxy code\nis all based on threads, which means none of the logic is working\ncorrectly.  The current ssh design makes it hard to fix when all of\nthe state lives in the global/module scope.\n\nSo the first step to fixing this is top move the setup \u0026 teardown to\nthe one place that really needs it: sync.  No other commands will use\nproxies anymore, just direct connections.\n\nBug: https://crbug.com/gerrit/12389\nChange-Id: Ibd351acdec39a87562b3013637c5df4ea34e03c6\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/305485\nReviewed-by: Chris Mcdonald \u003ccjmcdonald@google.com\u003e\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1d8d136337e3381d3c997cda3bc663edab1a9eb9",
      "old_mode": 33188,
      "old_path": "git_config.py",
      "new_id": "d7fef8ca10f721eec3bebd09c55bbe1eb96ef28b",
      "new_mode": 33188,
      "new_path": "git_config.py"
    },
    {
      "type": "modify",
      "old_id": "96744335eb0c6dd2ffbf7d8faa5b88423365d636",
      "old_mode": 33261,
      "old_path": "main.py",
      "new_id": "e399ddcecdd2044f83fdd41a8f3a454b98f48b53",
      "new_mode": 33261,
      "new_path": "main.py"
    },
    {
      "type": "modify",
      "old_id": "7b5b56d4ec9951271fba8a5e78050f57d2b6487c",
      "old_mode": 33188,
      "old_path": "project.py",
      "new_id": "37558061a817c40979e3e0bd55bf49805089c4a7",
      "new_mode": 33188,
      "new_path": "project.py"
    },
    {
      "type": "modify",
      "old_id": "6f5b5644e74d85fa125dfb6df4bad8e359aedf91",
      "old_mode": 33188,
      "old_path": "subcmds/sync.py",
      "new_id": "2856806225135d4f5bd030c318e0ef48127210b3",
      "new_mode": 33188,
      "new_path": "subcmds/sync.py"
    }
  ]
}
