)]}'
{
  "commit": "371a2e343199ee799404fd2bb8319d990a2ad572",
  "tree": "04d4c567bdcf11846bc487e5c8c0cab51abb0c3d",
  "parents": [
    "48845c31f49eec23738afd8f32cf2687ee79da15"
  ],
  "author": {
    "name": "michajlo",
    "email": "michajlo@google.com",
    "time": "Thu May 23 13:14:39 2019 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu May 23 13:16:02 2019 -0700"
  },
  "message": "Adds ability to determine product version without starting a server\n\nWhen `bazel --version` is run with no other args the client short-circuits\nprocessing and returns the same info that `version --gnu_format` would return,\nwithout the side-effect of starting the server daemon. This makes figuring out\nthe version of an arbitrary binary a much lighter-weight process than it\npreviously was.\n\nThe command itself is implemented by inspecting the `build-label.txt` file\nwhich is derived from the server jar\u0027s build label and packed into the dist\narchive.\n\nRight now we rely on `--version` with no other args. In the future it may be\nsensible to fold this into the option processor - I opted to skip this step\nfor now in interest of getting something functional out without needing to get\ntoo deep into all of the flag parsing semantics. When/if we wind up folding\n--version activation into the option processor it should be backwards\ncompatible with the functionality added in this change.\n\nIn the archive_processor code, I factored out the whole \"run the zip processor\"\nstep to simplify things. The only downside to this is the error messages might\nbe slightly different from before, but they shouldn\u0027t be terribly far off...\n\nPiperOrigin-RevId: 249701614\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2e0cd40caee1abaacb246f4577559224d5dca6b8",
      "old_mode": 33188,
      "old_path": "src/main/cpp/archive_utils.cc",
      "new_id": "64ee252207da3e76361acef9cfc7b2e240f0f763",
      "new_mode": 33188,
      "new_path": "src/main/cpp/archive_utils.cc"
    },
    {
      "type": "modify",
      "old_id": "694900b6b3ae0c3251b3afb14f0f0a904ff4582a",
      "old_mode": 33188,
      "old_path": "src/main/cpp/archive_utils.h",
      "new_id": "23aef1fe4706d590d78ac5610939e7d64e995b2a",
      "new_mode": 33188,
      "new_path": "src/main/cpp/archive_utils.h"
    },
    {
      "type": "modify",
      "old_id": "3114fab20fbb5c9955986baeb5af4128422a41cd",
      "old_mode": 33188,
      "old_path": "src/main/cpp/blaze.cc",
      "new_id": "78b700251ccbc2cd9989cd6e5932cfdebcb43d83",
      "new_mode": 33188,
      "new_path": "src/main/cpp/blaze.cc"
    },
    {
      "type": "modify",
      "old_id": "bef8f5db7b89a6484352d16079e3754d58a0f216",
      "old_mode": 33188,
      "old_path": "src/main/cpp/option_processor.cc",
      "new_id": "a7428e7452eb0fab7cae4d650241bfad0b92280f",
      "new_mode": 33188,
      "new_path": "src/main/cpp/option_processor.cc"
    },
    {
      "type": "modify",
      "old_id": "bfe2070f7f71fe703a46366368488ce586401849",
      "old_mode": 33188,
      "old_path": "src/main/cpp/option_processor.h",
      "new_id": "4692b0d59d84226a55e68ae3dd0a5868a84b7341",
      "new_mode": 33188,
      "new_path": "src/main/cpp/option_processor.h"
    }
  ]
}
