)]}'
{
  "commit": "b7c61d35e6c79875afb4db524443fd0fb20c5ae7",
  "tree": "7e7b9e52c32f1e1d5ffcae9ea39cb9396e8cf1e0",
  "parents": [
    "cc986e47a767db6e23ea1743c05451d1afd313dd"
  ],
  "author": {
    "name": "Laramie Leavitt",
    "email": "lar@google.com",
    "time": "Wed Mar 25 12:07:36 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Mar 25 12:08:24 2026 -0700"
  },
  "message": "Reduce duplication in absl/random/internal.\n\nConsolidate the mocking requirements so that mock detection is mediated\nvia the MockingAccess class\n* HasInvokeMock has been deduplicated; MockingAccess now owns it\n* InvokeMock is done via MockingAccess::InvokeMock\n* In absl::BitGenRef, if a class has a conversion operator that is used.\n* `friend class MockingAccess` is now the only mocking friend, except for backwards compat.\n  - friend DistributionCaller is now unnecessary.\n  - friend BitGenRef is now unnecessary.\n  - friend MockHelpers now unnecessary.\n\nPiperOrigin-RevId: 889366369\nChange-Id: I288cd60f6ac13b257c10ec3268d96828f1e61db6\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8986211d2f24e82405acedf9ee2bdfd68c0281c0",
      "old_mode": 33188,
      "old_path": "absl/random/BUILD.bazel",
      "new_id": "28f6872f76764cf2e9a69a3beca4a91540bbe3ef",
      "new_mode": 33188,
      "new_path": "absl/random/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "7382b0d22e4a3df40387817fa7a70e3b38fb5743",
      "old_mode": 33188,
      "old_path": "absl/random/CMakeLists.txt",
      "new_id": "4a13e84e7dbf0d6a77b2d22ec7683cda470ce4fd",
      "new_mode": 33188,
      "new_path": "absl/random/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "dfce2c481b542db76d5c0c1f0a20623164e31ffc",
      "old_mode": 33188,
      "old_path": "absl/random/bit_gen_ref.h",
      "new_id": "8ac4d9334806388f54f4cb8280c860f1861588ac",
      "new_mode": 33188,
      "new_path": "absl/random/bit_gen_ref.h"
    },
    {
      "type": "modify",
      "old_id": "d581352cad212540e4ca3f28b489ac36cfb892e2",
      "old_mode": 33188,
      "old_path": "absl/random/bit_gen_ref_test.cc",
      "new_id": "d04ac3ad42073422746ea432aba07a2341deda02",
      "new_mode": 33188,
      "new_path": "absl/random/bit_gen_ref_test.cc"
    },
    {
      "type": "modify",
      "old_id": "c2f2c367e0464eb216f6f7b8b38cd03695c09c6d",
      "old_mode": 33188,
      "old_path": "absl/random/internal/BUILD.bazel",
      "new_id": "56377ed18f57446158452326ae243e71a78b5a3d",
      "new_mode": 33188,
      "new_path": "absl/random/internal/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "e84ec8caa17f43167e7bbee5527ed1b00b2658ce",
      "old_mode": 33188,
      "old_path": "absl/random/internal/distribution_caller.h",
      "new_id": "d712bca7f554ccd95abf5f91c1423bfee2f84f0f",
      "new_mode": 33188,
      "new_path": "absl/random/internal/distribution_caller.h"
    },
    {
      "type": "modify",
      "old_id": "2d66a3b65ab0376851a792907b7d0fe9a5479155",
      "old_mode": 33188,
      "old_path": "absl/random/internal/mock_helpers.h",
      "new_id": "b73b9cbac0a1927ccd7bec5001f08927aa7c86bc",
      "new_mode": 33188,
      "new_path": "absl/random/internal/mock_helpers.h"
    },
    {
      "type": "modify",
      "old_id": "f874a0f78b0a61c0c7a0aa44825d569e8363fdb9",
      "old_mode": 33188,
      "old_path": "absl/random/internal/traits.h",
      "new_id": "d3963293eaee55cbcbb248324b415d5c30eb2222",
      "new_mode": 33188,
      "new_path": "absl/random/internal/traits.h"
    },
    {
      "type": "modify",
      "old_id": "21645821be59223fbc62400d40e4a56a5234056c",
      "old_mode": 33188,
      "old_path": "absl/random/internal/traits_test.cc",
      "new_id": "100fd9b993eb29d6978a5b3da35daabcfd55c806",
      "new_mode": 33188,
      "new_path": "absl/random/internal/traits_test.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "eb2f98baad11af014ab0688da7d52b29bb4db7aa",
      "new_mode": 33188,
      "new_path": "absl/random/mocking_access.h"
    },
    {
      "type": "modify",
      "old_id": "1680ff4dacfe44e9ee8794638d0fb9bda5b7c1dd",
      "old_mode": 33188,
      "old_path": "absl/random/mocking_bit_gen.h",
      "new_id": "249e2d6a8bb460208550556c848ff5ee20f62fd2",
      "new_mode": 33188,
      "new_path": "absl/random/mocking_bit_gen.h"
    }
  ]
}
