)]}'
{
  "commit": "983b58aceb758e480fc3fede42d21d06ee1de521",
  "tree": "4d219db8d5a580f4df91bac61f90617376a8f6df",
  "parents": [
    "2ca1f10615ed3dede0c5f0bfe9a67c7d9e179794"
  ],
  "author": {
    "name": "Philip Zeyliger",
    "email": "philip@bold.dev",
    "time": "Wed Jul 02 19:42:08 2025 -0700"
  },
  "committer": {
    "name": "Philip Zeyliger",
    "email": "philip@bold.dev",
    "time": "Wed Jul 02 19:42:08 2025 -0700"
  },
  "message": "Re-work Sketch\u0027s Docker setup.\n\nWe were being fancy and creating Dockerfiles for folks. This sometimes\nworked, but quite often didn\u0027t.\n\nInstead, we you have -base-image and -force-rebuild-container, and the\n\"cache key\" for images is just the base image and the working dir.\n\nThe layer cake is\n\n  (base image)\n  (customization) [optional]\n  (repo) [/app]\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e6e2d1eda7730b73353f8bb1aef1d758642936b5",
      "old_mode": 33188,
      "old_path": "cmd/sketch/main.go",
      "new_id": "77756073a63b5f4023b3032bfc25208e37f82356",
      "new_mode": 33188,
      "new_path": "cmd/sketch/main.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "38572f9f724c0dbd2b584d8926b799fe6e0a9728",
      "new_mode": 33188,
      "new_path": "dockerimg/README.md"
    },
    {
      "type": "modify",
      "old_id": "83430050f5b5be06db8dadc98da0fc2abce5e7d4",
      "old_mode": 33188,
      "old_path": "dockerimg/createdockerfile.go",
      "new_id": "d20da12d4b11da90a06935460ab1dbe4bf040d86",
      "new_mode": 33188,
      "new_path": "dockerimg/createdockerfile.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8af0a8ef7df65b93bfd9abf55854c74abbd0a005",
      "new_mode": 33188,
      "new_path": "dockerimg/docker.svg"
    },
    {
      "type": "modify",
      "old_id": "b63d0e31c95200b8257e0fa43c0d217d6d844e59",
      "old_mode": 33188,
      "old_path": "dockerimg/dockerimg.go",
      "new_id": "826778ab01368611c5de6ec7147b9737ab598256",
      "new_mode": 33188,
      "new_path": "dockerimg/dockerimg.go"
    },
    {
      "type": "modify",
      "old_id": "c3cc65c85b7d025dd8e102d03c0771dd3aebbe65",
      "old_mode": 33188,
      "old_path": "dockerimg/dockerimg_test.go",
      "new_id": "563d33bc6ab4ef89c06d67c98ea24245954c081d",
      "new_mode": 33188,
      "new_path": "dockerimg/dockerimg_test.go"
    },
    {
      "type": "delete",
      "old_id": "0470323563b263cba7cdc6f58dec6a3d59c0a488",
      "old_mode": 33188,
      "old_path": "dockerimg/testdata/dockerfile_convo.httprr",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "75ac8569729ba4cd2d9a4bcde467274df82c997c",
      "old_mode": 33188,
      "old_path": "dockerimg/testdata/testcreatedockerfile_basic_repo_with_readme.dockerfile",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "7585dd2bcea9685c37610b267a270c86b3377368",
      "old_mode": 33188,
      "old_path": "dockerimg/testdata/testcreatedockerfile_basic_repo_with_readme.httprr",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "8934292040ab861997ffbb750cbf455ad433957a",
      "old_mode": 33188,
      "old_path": "dockerimg/testdata/testcreatedockerfile_empty_repo.dockerfile",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "875e4ad4b5be9e47a8c44e7b60756f10ad948eb1",
      "old_mode": 33188,
      "old_path": "dockerimg/testdata/testcreatedockerfile_empty_repo.httprr",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "20345bcae403b25d43c7c6cd23a3bf08c6d545ec",
      "old_mode": 33188,
      "old_path": "dockerimg/testdata/testcreatedockerfile_mention_a_devtool_in_the_readme.dockerfile",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "b84afc04804519e53d010f725fc3ab06fcec9734",
      "old_mode": 33188,
      "old_path": "dockerimg/testdata/testcreatedockerfile_mention_a_devtool_in_the_readme.httprr",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "6345303685c071dd3f042078b525afe6af66435a",
      "old_mode": 33188,
      "old_path": "dockerimg/testdata/testcreatedockerfile_python_misery.dockerfile",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "ff8c0bd7dd8e47d605e6f74dbef89984e225025c",
      "old_mode": 33188,
      "old_path": "dockerimg/testdata/testcreatedockerfile_python_misery.httprr",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "9b2c9d1812d4dbd6e77f1a152133eeadae2aa2c6",
      "old_mode": 33188,
      "old_path": "dockerimg/testdata/testcreatedockerfile_repo_with_readme_and_workflow.dockerfile",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "7bc944bea8b48942d7e395d36e669a1e687c1719",
      "old_mode": 33188,
      "old_path": "dockerimg/testdata/testcreatedockerfile_repo_with_readme_and_workflow.httprr",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "7127f3b1c9789b641473af45853ee44998fa7920",
      "old_mode": 33261,
      "old_path": "dockerimg/update_tests.sh",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "ee959430185787ad98eca056d8283641a07c6ffb",
      "old_mode": 33188,
      "old_path": "webui/esbuild.go",
      "new_id": "d310f95eaa1ae99b1f8378c5515f0491a9a8e248",
      "new_mode": 33188,
      "new_path": "webui/esbuild.go"
    }
  ]
}
