)]}'
{
  "commit": "6a1673bf85fbbdbcf804ecbd7aa94b3d115b521f",
  "tree": "9eb449850bce641c51a832c6995ceef4e8497390",
  "parents": [
    "e7c06ebc6bf3d2e77f49fe808d943f90321d5047"
  ],
  "author": {
    "name": "Greg Estren",
    "email": "gregce@google.com",
    "time": "Thu Mar 26 14:29:58 2015 +0000"
  },
  "committer": {
    "name": "Han-Wen Nienhuys",
    "email": "hanwen@google.com",
    "time": "Thu Mar 26 15:14:51 2015 +0000"
  },
  "message": "PackageSerializer: include attributes with null values.\nPackageDeserializer: handle null-value attributes (single-value attributes with\nno value setting) without crashing.\n\nWithout this change, attributes with computed defaults can crash on serialization\nbecause RawAttributeMapper.isNotNull isn\u0027t smart enough to check *indirect*\nconfigurable attributes that the computed attribute depends on.\n\n--\nMOS_MIGRATED_REVID\u003d89599145\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6ae21d9a1dffae23f31eda19e251f857b6f5f177",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/packages/AbstractAttributeMapper.java",
      "new_id": "f3875b65a9fcfd264ae11e6ef45383fffd76bb60",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/packages/AbstractAttributeMapper.java"
    },
    {
      "type": "modify",
      "old_id": "1c56072dc36a4a77090dc51970892ced38d3fa94",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/packages/PackageDeserializer.java",
      "new_id": "960432db854e0010b576189c4f9e4a358de7a092",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/packages/PackageDeserializer.java"
    },
    {
      "type": "modify",
      "old_id": "d7008eddb3e0802e7c9a3674b7c6201fe5d05a29",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/packages/PackageSerializer.java",
      "new_id": "9d40bb4acad02d4110f75c237746dcc1cd8d2eef",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/packages/PackageSerializer.java"
    },
    {
      "type": "modify",
      "old_id": "6cc12d03dd87c90a2e2e4032142feb0a51b7d98c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/packages/RawAttributeMapper.java",
      "new_id": "7de23d7c1943635225bc6e3908faeb58132b4cce",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/packages/RawAttributeMapper.java"
    },
    {
      "type": "modify",
      "old_id": "fe93ba41d23f19bcc1c0b3851ea92e243e2b50ac",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java",
      "new_id": "b23f0c060ba2c01e77dfb90b39eb3d06c12c9e5a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java"
    },
    {
      "type": "modify",
      "old_id": "b5d6346276e903a42b2ee043be9781601428a01a",
      "old_mode": 33188,
      "old_path": "src/main/protobuf/build.proto",
      "new_id": "d212cbbddfede4f229f7a8bebdbdabf73e20e778",
      "new_mode": 33188,
      "new_path": "src/main/protobuf/build.proto"
    }
  ]
}
