)]}'
{
  "commit": "c1684c6e22e1929ae75f834940d4723f6c237898",
  "tree": "4f0a6d6abee20a5c4fd86968af2f4618b3147d1d",
  "parents": [
    "3d9d43c19b152e1eff006c15f1b5e84ca209adce"
  ],
  "author": {
    "name": "Jonathan Amsterdam",
    "email": "jba@google.com",
    "time": "Thu Jun 10 16:17:40 2021 -0400"
  },
  "committer": {
    "name": "Jonathan Amsterdam",
    "email": "jba@google.com",
    "time": "Fri Jun 11 17:44:01 2021 +0000"
  },
  "message": "event: Builder.Start returns a builder\n\nCurrently, Builder.Start\u0027s second return value is a function which,\nwhen called, sends an End event with a copy of the Start event\u0027s\nbuilder. This makes the common case\n\n    ctx, end :\u003d event.To(ctx).Start(name)\n    defer end()\n\neasy to write.\n\nBut it\u0027s not possible to add additional labels that way; instead a\nwhole new builder needs to be constructed from scratch.\n\nSo in this CL, Start\u0027s second return value is a Builder. The simple\ncase is almost as short:\n\n    ctx, b :\u003d event.To(ctx).Start(name)\n    defer b.End()\n\nbut now it\u0027s equally easy to add more information to the end event:\n\n    ctx, b :\u003d event.To(ctx).Start(name)\n    defer b.With(Result.Of(err)).End()\n\nChange-Id: Ib489a2704ac78479317eeb3f1f3de0f1b38d610c\nReviewed-on: https://go-review.googlesource.com/c/exp/+/326849\nTrust: Jonathan Amsterdam \u003cjba@google.com\u003e\nRun-TryBot: Jonathan Amsterdam \u003cjba@google.com\u003e\nTryBot-Result: Go Bot \u003cgobot@golang.org\u003e\nReviewed-by: Ian Cottrell \u003ciancottrell@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f90804f7696997db8140d0080385bc93179b36b2",
      "old_mode": 33188,
      "old_path": "event/builder.go",
      "new_id": "a0567e3b343f2cf67e75912afebcabd6301bbde8",
      "new_mode": 33188,
      "new_path": "event/builder.go"
    },
    {
      "type": "modify",
      "old_id": "4f4166c69542af8654f878fff0fa0b5fb383e96a",
      "old_mode": 33188,
      "old_path": "event/builder_test.go",
      "new_id": "c7d698f17886fce41391396437b2aa1a36827488",
      "new_mode": 33188,
      "new_path": "event/builder_test.go"
    },
    {
      "type": "modify",
      "old_id": "1fdfbd57e502bf86fd17d6427ff7bdddd84741fe",
      "old_mode": 33188,
      "old_path": "event/common_test.go",
      "new_id": "c175dae9dc95c5d881d88d552404f25dfe878756",
      "new_mode": 33188,
      "new_path": "event/common_test.go"
    },
    {
      "type": "modify",
      "old_id": "4a01b721352be475bd48826c8415d6188a4364e9",
      "old_mode": 33188,
      "old_path": "event/event_test.go",
      "new_id": "d2321bb1b8f592f54b0fab055c56c5cf8b6ad2c5",
      "new_mode": 33188,
      "new_path": "event/event_test.go"
    },
    {
      "type": "modify",
      "old_id": "fe05ef0231060f59d08923d2a9e068dd7fb9634c",
      "old_mode": 33188,
      "old_path": "event/otel/trace_test.go",
      "new_id": "c29f3924c38d457f335beb17c118c83ece28dfb4",
      "new_mode": 33188,
      "new_path": "event/otel/trace_test.go"
    }
  ]
}
