)]}'
{
  "commit": "fa48acca51664f9faf74caa6f0eb28f8d9b37667",
  "tree": "5deeb4c2a4feabe5ef92b999bb78a2f6079345ec",
  "parents": [
    "a9dcf4686e4e2ca7a49754532e167091c02f1979"
  ],
  "author": {
    "name": "Andrew Bonventre",
    "email": "andybons@golang.org",
    "time": "Sat Dec 23 18:02:41 2017 -0500"
  },
  "committer": {
    "name": "Andrew Bonventre",
    "email": "andybons@golang.org",
    "time": "Sun Dec 24 19:12:25 2017 +0000"
  },
  "message": "Merge sandbox and frontend into one service\n\nSince frontend was moved to the flex runtime, there is no longer\na reason to keep the two separate. Consolidate the two into one\nservice to reduce deployment complexity.\n\nChange-Id: Ie64c17e1833ed94ac8bff7381963f683d824ca5d\nReviewed-on: https://go-review.googlesource.com/85456\nReviewed-by: Brad Fitzpatrick \u003cbradfitz@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "88dff59bc7d200392543337d37013f2d89dde6df",
      "old_mode": 33188,
      "old_path": "CONTRIBUTING.md",
      "new_id": "b252820ef46208c77df70fd6f4b590ac0931beb7",
      "new_mode": 33188,
      "new_path": "CONTRIBUTING.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a99db1e492781c98d19b0c5db36d5c044f650a83",
      "new_mode": 33188,
      "new_path": "Dockerfile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0854a901c5108aa8795fcc7f57813d116012b71e",
      "new_mode": 33188,
      "new_path": "Makefile"
    },
    {
      "type": "modify",
      "old_id": "2fd7edcb356f7b187d86cf3df4df5c6fd2361200",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "ec92d826f7a9975b0169cc28d3f9e655f7724404",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "rename",
      "old_id": "55df140482ddaf7b3241461f7d37472c10806b9e",
      "old_mode": 33188,
      "old_path": "frontend/app.yaml",
      "new_id": "55df140482ddaf7b3241461f7d37472c10806b9e",
      "new_mode": 33188,
      "new_path": "app.yaml",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "eee62f99e78ac5c8fcb930248fa1a8b1ac0d9f26",
      "old_mode": 33188,
      "old_path": "sandbox/client.go",
      "new_id": "c168c3c4aa476faf725af9430244c8d413377f70",
      "new_mode": 33188,
      "new_path": "client.go",
      "score": 87
    },
    {
      "type": "rename",
      "old_id": "bb5eaa3f3919f5ee03009ff4f24dd65a5dce06f9",
      "old_mode": 33188,
      "old_path": "frontend/edit.go",
      "new_id": "bb5eaa3f3919f5ee03009ff4f24dd65a5dce06f9",
      "new_mode": 33188,
      "new_path": "edit.go",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "8bf62f21c178ffca98ada56f03381c2ef4db57c1",
      "old_mode": 33188,
      "old_path": "frontend/edit.html",
      "new_id": "8bf62f21c178ffca98ada56f03381c2ef4db57c1",
      "new_mode": 33188,
      "new_path": "edit.html",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "4e389b99d2fa04c6a14743f46efc111eae1350e4",
      "old_mode": 33188,
      "old_path": "sandbox/enable-fake-time.patch",
      "new_id": "4e389b99d2fa04c6a14743f46efc111eae1350e4",
      "new_mode": 33188,
      "new_path": "enable-fake-time.patch",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "806aa63c6c1c540e3786a40db672b722f03eb87a",
      "old_mode": 33188,
      "old_path": "sandbox/fake_fs.lst",
      "new_id": "806aa63c6c1c540e3786a40db672b722f03eb87a",
      "new_mode": 33188,
      "new_path": "fake_fs.lst",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "571c68aa8136fe22fb72bb23a17705256543124f",
      "old_mode": 33188,
      "old_path": "frontend/fmt.go",
      "new_id": "571c68aa8136fe22fb72bb23a17705256543124f",
      "new_mode": 33188,
      "new_path": "fmt.go",
      "score": 100
    },
    {
      "type": "delete",
      "old_id": "1594a897051c9176f2b0a78ff3c24de26b492494",
      "old_mode": 33188,
      "old_path": "frontend/Dockerfile",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "2b5f1b5e19d8999e8b777456b7c433dfecf6edbd",
      "old_mode": 33188,
      "old_path": "frontend/Makefile",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "0c4deb584e2db243ec90d2c6adf9a17b3a5a8e2b",
      "old_mode": 33188,
      "old_path": "frontend/compile.go",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "rename",
      "old_id": "2d36289a68d70e569baeddb404739bd78f6d3cd8",
      "old_mode": 33188,
      "old_path": "frontend/logger.go",
      "new_id": "2d36289a68d70e569baeddb404739bd78f6d3cd8",
      "new_mode": 33188,
      "new_path": "logger.go",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "497f49cd068131a393025cfdd1dffbbe44ffe1bf",
      "old_mode": 33188,
      "old_path": "frontend/main.go",
      "new_id": "acef3f6b6996534025fe89cb33485f77fcc29e34",
      "new_mode": 33188,
      "new_path": "main.go",
      "score": 94
    },
    {
      "type": "rename",
      "old_id": "601666fbd40bf88092a58b126d8da3d87a1b3c5d",
      "old_mode": 33188,
      "old_path": "sandbox/play.go",
      "new_id": "fd566768a5816dd80ac076e162cc60aa1fee95c3",
      "new_mode": 33188,
      "new_path": "play.go",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "bdf2a0b54cb9ff5169862cd5a1a25dda1424c399",
      "old_mode": 33188,
      "old_path": "sandbox/play_test.go",
      "new_id": "69f9dd419a87838bd63d62fb0b56d17d40b245be",
      "new_mode": 33188,
      "new_path": "play_test.go",
      "score": 95
    },
    {
      "type": "rename",
      "old_id": "69ca24f348d6d5b49b95f83c10af6a0dd2fe44d0",
      "old_mode": 33188,
      "old_path": "sandbox/sandbox.go",
      "new_id": "97ba0baea79eb8ddfef95b4071aa7bbe407f6516",
      "new_mode": 33188,
      "new_path": "sandbox.go",
      "score": 69
    },
    {
      "type": "delete",
      "old_id": "b20cbc49f9e4ebfc08fd807e1bd7a6440f9f9a8c",
      "old_mode": 33188,
      "old_path": "sandbox/Dockerfile",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "72cdfc2b84bb6e80820f96f44437aa01f75dc6be",
      "old_mode": 33188,
      "old_path": "sandbox/Makefile",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "fad29f8f18ae6101aa30335ed90d0577e69bcaf5",
      "old_mode": 33188,
      "old_path": "sandbox/app-flex.yaml",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "8e6a30d854ee974d6b037c317ae2d2d2f968c50f",
      "old_mode": 33188,
      "old_path": "sandbox/app.yaml",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "3bd498f08b4b5c88e1722765478d791dd1c97e9d",
      "old_mode": 33188,
      "old_path": "sandbox/container-vm.yaml",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "rename",
      "old_id": "136124c82b709e4dfa64b0ebfcec2c25b4ea081a",
      "old_mode": 33188,
      "old_path": "frontend/server.go",
      "new_id": "350b38410525b894b9a725874b474b38189a7a59",
      "new_mode": 33188,
      "new_path": "server.go",
      "score": 91
    },
    {
      "type": "rename",
      "old_id": "01891e39bda18ab14e8acdad7fb0d1b62f234ddd",
      "old_mode": 33188,
      "old_path": "frontend/server_test.go",
      "new_id": "01891e39bda18ab14e8acdad7fb0d1b62f234ddd",
      "new_mode": 33188,
      "new_path": "server_test.go",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "3beea1d6ef27f402d834f982a53d68dcdbf26fbe",
      "old_mode": 33188,
      "old_path": "frontend/share.go",
      "new_id": "3beea1d6ef27f402d834f982a53d68dcdbf26fbe",
      "new_mode": 33188,
      "new_path": "share.go",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "8d225846dbcda496ba803b828c4786b21cc84d01",
      "old_mode": 33188,
      "old_path": "frontend/static/favicon.ico",
      "new_id": "8d225846dbcda496ba803b828c4786b21cc84d01",
      "new_mode": 33188,
      "new_path": "static/favicon.ico",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "5eb2f4a5edb14aa3b33678cb0da2cce4c8609548",
      "old_mode": 33188,
      "old_path": "frontend/static/godoc.css",
      "new_id": "5eb2f4a5edb14aa3b33678cb0da2cce4c8609548",
      "new_mode": 33188,
      "new_path": "static/godoc.css",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "24603f30689c9e360729fbb881128131049b62e0",
      "old_mode": 33188,
      "old_path": "frontend/static/gopher.png",
      "new_id": "24603f30689c9e360729fbb881128131049b62e0",
      "new_mode": 33188,
      "new_path": "static/gopher.png",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "4431e952d69ca6186e1f6ce6950f217f4f245985",
      "old_mode": 33188,
      "old_path": "frontend/static/jquery-linedtextarea.js",
      "new_id": "4431e952d69ca6186e1f6ce6950f217f4f245985",
      "new_mode": 33188,
      "new_path": "static/jquery-linedtextarea.js",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "45a496d86f227478b3c9db216aaa4363abdcff7c",
      "old_mode": 33188,
      "old_path": "frontend/static/playground-embed.js",
      "new_id": "45a496d86f227478b3c9db216aaa4363abdcff7c",
      "new_mode": 33188,
      "new_path": "static/playground-embed.js",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "1cd00e81f3c054a7b628e85d9a9398554a3b5bb0",
      "old_mode": 33188,
      "old_path": "frontend/static/style.css",
      "new_id": "1cd00e81f3c054a7b628e85d9a9398554a3b5bb0",
      "new_mode": 33188,
      "new_path": "static/style.css",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "3fecbd794cab3b362e53ee3c68d6214b92b3ed7d",
      "old_mode": 33188,
      "old_path": "frontend/store.go",
      "new_id": "3fecbd794cab3b362e53ee3c68d6214b92b3ed7d",
      "new_mode": 33188,
      "new_path": "store.go",
      "score": 100
    }
  ]
}
