)]}'
{
  "commit": "a4798817e824a5c45689933bc62338f3c7d6961b",
  "tree": "8fc15ab0a4c9aedf3c367aa068fa29143399f8e2",
  "parents": [
    "e96d49687d9c078f2d47356b6723c3b5715493f7"
  ],
  "author": {
    "name": "Abseil Team",
    "email": "absl-team@google.com",
    "time": "Mon Nov 09 04:09:55 2020 -0800"
  },
  "committer": {
    "name": "Mark Barolak",
    "email": "mbar@google.com",
    "time": "Mon Nov 09 14:47:43 2020 -0500"
  },
  "message": "Export of internal Abseil changes\n\n--\n197bd3e5e315f408bdc2f7111a0652be7f47609f by Jorg Brown \u003cjorg@google.com\u003e:\n\nConvertibleToStringView wastes a lot of cycles initializing a std::string\nmember that it never uses.  This CL restricts ConvertibleToStringView to just\nthe cases that don\u0027t nned a std::string member, and uses an additional StrSplit\noverload to catch when users pass a temporary string.\n\nThis makes StrSplit() 0-30% faster depending on the use case.\n\nPiperOrigin-RevId: 341378221\nGitOrigin-RevId: 197bd3e5e315f408bdc2f7111a0652be7f47609f\nChange-Id: Id863f2a3d298ed5a086ac912afab42dc30601be5\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "49ec5392de41778d5a6f008879623dd1a9bbc8c3",
      "old_mode": 33188,
      "old_path": "absl/strings/internal/str_split_internal.h",
      "new_id": "a2f41c153131b1b87a88cb6802685ddcb6387ae2",
      "new_mode": 33188,
      "new_path": "absl/strings/internal/str_split_internal.h"
    },
    {
      "type": "modify",
      "old_id": "1ce17f38aa812eb81bb0dfa5c537919c143f1713",
      "old_mode": 33188,
      "old_path": "absl/strings/str_split.h",
      "new_id": "bfbca422a8dc54644c84e2caa9c52dd0ffef6039",
      "new_mode": 33188,
      "new_path": "absl/strings/str_split.h"
    }
  ]
}
