)]}'
{
  "commit": "8a90fd3c72e7853a39ba348c0cd278b2d11ea610",
  "tree": "7935e606dcf651b75afd52d337a1c11bff103fea",
  "parents": [
    "3ebc422ff807a2e7fae96c490ecbc55710adfc42"
  ],
  "author": {
    "name": "Rob Pike",
    "email": "r@golang.org",
    "time": "Mon Apr 04 23:42:14 2011 -0700"
  },
  "committer": {
    "name": "Rob Pike",
    "email": "r@golang.org",
    "time": "Mon Apr 04 23:42:14 2011 -0700"
  },
  "message": "os: New Open API.\nWe replace the current Open with:\nOpenFile(name, flag, perm) // same as old Open\nOpen(name) // same as old Open(name, O_RDONLY, 0)\nCreate(name) // same as old Open(name, O_RDWR|O_TRUNC|O_CREAT, 0666)\n\nThis CL includes a gofix module and full code updates: all.bash passes.\n(There may be a few comments I missed.)\n\nThe interesting packages are:\n        gofix\n        os\nEverything else is automatically generated except for hand tweaks to:\n        src/pkg/io/ioutil/ioutil.go\n        src/pkg/io/ioutil/tempfile.go\n        src/pkg/crypto/tls/generate_cert.go\n        src/cmd/goyacc/goyacc.go\n        src/cmd/goyacc/units.y\n\nR\u003dgolang-dev, bradfitzwork, rsc, r2\nCC\u003dgolang-dev\nhttps://golang.org/cl/4357052\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "53ea93ac58af85c5db77a7934e7a7ffe78251880",
      "old_mode": 33188,
      "old_path": "misc/dashboard/builder/exec.go",
      "new_id": "c122d4a07cc4bed9f2666c19963bae332a860028",
      "new_mode": 33188,
      "new_path": "misc/dashboard/builder/exec.go"
    },
    {
      "type": "modify",
      "old_id": "3ca5ed80c6ffebb3c34c2c61742182d2cbd4f14b",
      "old_mode": 33188,
      "old_path": "misc/goplay/goplay.go",
      "new_id": "f887fbbda7efd52aa69fc59bc7a9e647c9b26754",
      "new_mode": 33188,
      "new_path": "misc/goplay/goplay.go"
    },
    {
      "type": "modify",
      "old_id": "2dc662de547d747b886e3026eb1dd63085f0c1a0",
      "old_mode": 33188,
      "old_path": "src/cmd/cgo/main.go",
      "new_id": "584e547087ef56c6ce8684c372d18f6c68af3913",
      "new_mode": 33188,
      "new_path": "src/cmd/cgo/main.go"
    },
    {
      "type": "modify",
      "old_id": "56258f2cdca8992a50585d08922c03c88cc9084d",
      "old_mode": 33188,
      "old_path": "src/cmd/cgo/util.go",
      "new_id": "b4f56e31e076f56ef01000628810d411b8b8d6d6",
      "new_mode": 33188,
      "new_path": "src/cmd/cgo/util.go"
    },
    {
      "type": "modify",
      "old_id": "bda63a9f605a06a6320e1f3ea3887464cf825a6f",
      "old_mode": 33188,
      "old_path": "src/cmd/godoc/codewalk.go",
      "new_id": "24087eb880d891befad6644f8383dea142984cbf",
      "new_mode": 33188,
      "new_path": "src/cmd/godoc/codewalk.go"
    },
    {
      "type": "modify",
      "old_id": "5af4d15cb544ced9f5dc057e9854217fcc56a377",
      "old_mode": 33188,
      "old_path": "src/cmd/godoc/index.go",
      "new_id": "5938d0b74a3a697ab0ae8d0e1ff5715f586699f4",
      "new_mode": 33188,
      "new_path": "src/cmd/godoc/index.go"
    },
    {
      "type": "modify",
      "old_id": "9517aee7abeb3f1fcd6755cfc4dc126222de3db1",
      "old_mode": 33188,
      "old_path": "src/cmd/godoc/utils.go",
      "new_id": "593b51ce00e1bd450b42c7fc4a7a82491fad4c59",
      "new_mode": 33188,
      "new_path": "src/cmd/godoc/utils.go"
    },
    {
      "type": "modify",
      "old_id": "f60b503d4b625d318deaa2855af6047ace3fa1a6",
      "old_mode": 33188,
      "old_path": "src/cmd/gofix/Makefile",
      "new_id": "474a9ba29e5d33e62518dc52f8fc36e6c6066d95",
      "new_mode": 33188,
      "new_path": "src/cmd/gofix/Makefile"
    },
    {
      "type": "modify",
      "old_id": "e4802cdb895fa480fcee415a3ed033e04227b0ec",
      "old_mode": 33188,
      "old_path": "src/cmd/gofix/main.go",
      "new_id": "c02137679fcf6c05ed0470fa3db26726101ef99d",
      "new_mode": 33188,
      "new_path": "src/cmd/gofix/main.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4b9812477e5cf5d1fdf44ccf2e2516920c881ca6",
      "new_mode": 33188,
      "new_path": "src/cmd/gofix/osopen.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b662b62db50042e5e99f05736083d7a8debd23cf",
      "new_mode": 33188,
      "new_path": "src/cmd/gofix/osopen_test.go"
    },
    {
      "type": "modify",
      "old_id": "1e85581571db83ebe9264e34c4a663fa0ac1a6ca",
      "old_mode": 33188,
      "old_path": "src/cmd/gofmt/gofmt.go",
      "new_id": "1ed5b9b993138f140d29b9914a1dc7ea13e3cdfb",
      "new_mode": 33188,
      "new_path": "src/cmd/gofmt/gofmt.go"
    },
    {
      "type": "modify",
      "old_id": "34441be45dfa250bd8f6c7e329afe8b73f5cff9e",
      "old_mode": 33188,
      "old_path": "src/cmd/goinstall/main.go",
      "new_id": "6d5d34884ce730d02f71b44be9c3df1ceb419a57",
      "new_mode": 33188,
      "new_path": "src/cmd/goinstall/main.go"
    },
    {
      "type": "modify",
      "old_id": "280e9ea4f7313decf9e8c11951691b29305f99ac",
      "old_mode": 33188,
      "old_path": "src/cmd/goinstall/parse.go",
      "new_id": "0e617903cf68081ecd0ee9b172cedeca4d6e60ea",
      "new_mode": 33188,
      "new_path": "src/cmd/goinstall/parse.go"
    },
    {
      "type": "modify",
      "old_id": "b6920639314d568fdd8c71aac30ceffbff28fc57",
      "old_mode": 33188,
      "old_path": "src/cmd/gotest/gotest.go",
      "new_id": "d62bf7901760dd87187159b83e04a392fa0abdcc",
      "new_mode": 33188,
      "new_path": "src/cmd/gotest/gotest.go"
    },
    {
      "type": "modify",
      "old_id": "5fa9e28592f9356386ca6df9fcade4f5b293c03e",
      "old_mode": 33188,
      "old_path": "src/cmd/gotype/gotype.go",
      "new_id": "10694a327ca48163e18d0574757c3283df8c4a96",
      "new_mode": 33188,
      "new_path": "src/cmd/gotype/gotype.go"
    },
    {
      "type": "modify",
      "old_id": "32816b7009c02486a5d2773d2cfaaea9ca7924ff",
      "old_mode": 33188,
      "old_path": "src/cmd/goyacc/goyacc.go",
      "new_id": "2a1ed46fc713aa8fbefa7fd0f289397b59230b01",
      "new_mode": 33188,
      "new_path": "src/cmd/goyacc/goyacc.go"
    },
    {
      "type": "modify",
      "old_id": "5d3f9aca2439150e397689123efcf06883213e81",
      "old_mode": 33188,
      "old_path": "src/cmd/goyacc/units.y",
      "new_id": "c1c1409c766f668ff855f57101a6301dac7e0582",
      "new_mode": 33188,
      "new_path": "src/cmd/goyacc/units.y"
    },
    {
      "type": "modify",
      "old_id": "aa4c797fb6a6535f36dff7de7b912417feea7148",
      "old_mode": 33188,
      "old_path": "src/pkg/archive/tar/reader_test.go",
      "new_id": "32fc8f9151a61addfece5f36c7b01c9a5523ed46",
      "new_mode": 33188,
      "new_path": "src/pkg/archive/tar/reader_test.go"
    },
    {
      "type": "modify",
      "old_id": "ac53b20d198ac84aba53d6033e15cfb818f79b0a",
      "old_mode": 33188,
      "old_path": "src/pkg/archive/zip/reader.go",
      "new_id": "543007abfe058405b931cf41d2ab7fddc338ce83",
      "new_mode": 33188,
      "new_path": "src/pkg/archive/zip/reader.go"
    },
    {
      "type": "modify",
      "old_id": "2e0a8de0a87f84124d3c754b8b7831177b7de479",
      "old_mode": 33188,
      "old_path": "src/pkg/compress/lzw/writer_test.go",
      "new_id": "e5815a03d5d628353ac33dca133217f3c24d0308",
      "new_mode": 33188,
      "new_path": "src/pkg/compress/lzw/writer_test.go"
    },
    {
      "type": "modify",
      "old_id": "5a13ba82573c19097e63a33000cc3a75a36448a4",
      "old_mode": 33188,
      "old_path": "src/pkg/compress/zlib/writer_test.go",
      "new_id": "7eb1cd494978d5e41cc997993980c114e2163aa2",
      "new_mode": 33188,
      "new_path": "src/pkg/compress/zlib/writer_test.go"
    },
    {
      "type": "modify",
      "old_id": "66b72c07662f78915d3dd0b0d96f26c5883b7dcf",
      "old_mode": 33188,
      "old_path": "src/pkg/crypto/rand/rand_unix.go",
      "new_id": "3a06aa8b148954a4301d47084391de05de94291a",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/rand/rand_unix.go"
    },
    {
      "type": "modify",
      "old_id": "ee77f949fc038b4d01d3d053a0e775c98b5b8ede",
      "old_mode": 33188,
      "old_path": "src/pkg/crypto/tls/generate_cert.go",
      "new_id": "5c783fd296991f5d64758fca3e5c687562d17614",
      "new_mode": 33188,
      "new_path": "src/pkg/crypto/tls/generate_cert.go"
    },
    {
      "type": "modify",
      "old_id": "60f913f4572a4c5c03320b64ca31eb44fde49ecb",
      "old_mode": 33188,
      "old_path": "src/pkg/debug/elf/file.go",
      "new_id": "6fdcda6d485faf4b6f3db39c79c5b45353e953b1",
      "new_mode": 33188,
      "new_path": "src/pkg/debug/elf/file.go"
    },
    {
      "type": "modify",
      "old_id": "fd8da9449ad0bd1765c06eebcc33bf10228a9d40",
      "old_mode": 33188,
      "old_path": "src/pkg/debug/macho/file.go",
      "new_id": "a777d873cf2cd2e47eb90e9683e81d7545c2fae3",
      "new_mode": 33188,
      "new_path": "src/pkg/debug/macho/file.go"
    },
    {
      "type": "modify",
      "old_id": "b99131e5ede6c933106820c1b9cea555b0575a91",
      "old_mode": 33188,
      "old_path": "src/pkg/debug/pe/file.go",
      "new_id": "6a14e50f9609b8da4be68f8170aa8a82860b27db",
      "new_mode": 33188,
      "new_path": "src/pkg/debug/pe/file.go"
    },
    {
      "type": "modify",
      "old_id": "6890a2221ef4b3496c6d7b3f32963afac8b906f6",
      "old_mode": 33188,
      "old_path": "src/pkg/debug/proc/proc_linux.go",
      "new_id": "17c8fa529f53aad2cb85d62bb57c8819962a77c9",
      "new_mode": 33188,
      "new_path": "src/pkg/debug/proc/proc_linux.go"
    },
    {
      "type": "modify",
      "old_id": "44e3b65bec87f24c18e6d5733785a657c41d8809",
      "old_mode": 33188,
      "old_path": "src/pkg/exec/exec.go",
      "new_id": "75ce09990a593f8ac7f31bbda3d0f703d0605a14",
      "new_mode": 33188,
      "new_path": "src/pkg/exec/exec.go"
    },
    {
      "type": "modify",
      "old_id": "896dedf05c75880fe030ab6cb88662d711043cfd",
      "old_mode": 33188,
      "old_path": "src/pkg/exp/draw/x11/auth.go",
      "new_id": "d48936ac178a865b9e5de82287e60036c5ca36c7",
      "new_mode": 33188,
      "new_path": "src/pkg/exp/draw/x11/auth.go"
    },
    {
      "type": "modify",
      "old_id": "ba056e88bafc021bb4d5a8363dceeaee0d3abbf5",
      "old_mode": 33188,
      "old_path": "src/pkg/exp/ogle/cmd.go",
      "new_id": "813d3a875a6c85ed93d1dfee82ebff38e13f2e7a",
      "new_mode": 33188,
      "new_path": "src/pkg/exp/ogle/cmd.go"
    },
    {
      "type": "modify",
      "old_id": "fc4ae094394b4b850875087a2293601e8cd84efb",
      "old_mode": 33188,
      "old_path": "src/pkg/go/parser/interface.go",
      "new_id": "b4780e05784f7cd992a2260e2f1152d2dd1e99ee",
      "new_mode": 33188,
      "new_path": "src/pkg/go/parser/interface.go"
    },
    {
      "type": "modify",
      "old_id": "a05510566e774ca0d021953836ef02216b73c3e7",
      "old_mode": 33188,
      "old_path": "src/pkg/gob/dump.go",
      "new_id": "1555f0fbbde36b10a5fb571ad6a8b358e24f145d",
      "new_mode": 33188,
      "new_path": "src/pkg/gob/dump.go"
    },
    {
      "type": "modify",
      "old_id": "d153533b588b45c7882ead30bc38da7876d982b1",
      "old_mode": 33188,
      "old_path": "src/pkg/html/parse_test.go",
      "new_id": "fe955436c8a4bd609ed3443f4f0b558e73798eeb",
      "new_mode": 33188,
      "new_path": "src/pkg/html/parse_test.go"
    },
    {
      "type": "modify",
      "old_id": "2997b57998b3fd4db0c9fd5e56abecce99a4398e",
      "old_mode": 33188,
      "old_path": "src/pkg/http/fs.go",
      "new_id": "7b2cc7f93fd594d49a39af24b3fbb437ae0b46be",
      "new_mode": 33188,
      "new_path": "src/pkg/http/fs.go"
    },
    {
      "type": "modify",
      "old_id": "5b87344c50aecffad48ec1258625eb3ba0fa6f93",
      "old_mode": 33188,
      "old_path": "src/pkg/image/decode_test.go",
      "new_id": "0716ad9055b85ec56b3b898f1dc06f45516cfcec",
      "new_mode": 33188,
      "new_path": "src/pkg/image/decode_test.go"
    },
    {
      "type": "modify",
      "old_id": "0b2058d51a2b378a79e8a1f7d36e633b66a1f0e9",
      "old_mode": 33188,
      "old_path": "src/pkg/image/png/reader_test.go",
      "new_id": "efa6336d792f979c6f958fa915ee345d453be1ca",
      "new_mode": 33188,
      "new_path": "src/pkg/image/png/reader_test.go"
    },
    {
      "type": "modify",
      "old_id": "ed6c310eb44c7e57e633b670cfcc428d876844d9",
      "old_mode": 33188,
      "old_path": "src/pkg/io/ioutil/ioutil.go",
      "new_id": "57d797e851cf89b227733d8af637a83e3f795195",
      "new_mode": 33188,
      "new_path": "src/pkg/io/ioutil/ioutil.go"
    },
    {
      "type": "modify",
      "old_id": "62f8849c0a0b74c964fe59a513c16fac3107293c",
      "old_mode": 33188,
      "old_path": "src/pkg/io/ioutil/tempfile.go",
      "new_id": "8e681bdc3bce55fb04efe0ce6657cd43c757bd92",
      "new_mode": 33188,
      "new_path": "src/pkg/io/ioutil/tempfile.go"
    },
    {
      "type": "modify",
      "old_id": "a10b780ae95c94d0bf68128c7d26daf9d2d46127",
      "old_mode": 33188,
      "old_path": "src/pkg/mime/type.go",
      "new_id": "6fe0ed5fd5e0584cf4c819bf83a69cf7a032fbca",
      "new_mode": 33188,
      "new_path": "src/pkg/mime/type.go"
    },
    {
      "type": "modify",
      "old_id": "2bc0db4655a2fe3f4cd0d44264bd4e7c173858cf",
      "old_mode": 33188,
      "old_path": "src/pkg/net/parse.go",
      "new_id": "de46830d2928d09f231d699ee9005485e12fd68b",
      "new_mode": 33188,
      "new_path": "src/pkg/net/parse.go"
    },
    {
      "type": "modify",
      "old_id": "2b7784eee2d24bfef3a7a2f454f59f9cec9d91cb",
      "old_mode": 33188,
      "old_path": "src/pkg/net/parse_test.go",
      "new_id": "226f354d300604be7b7a308021e7599a21479239",
      "new_mode": 33188,
      "new_path": "src/pkg/net/parse_test.go"
    },
    {
      "type": "modify",
      "old_id": "a73f5d80792d1d67bf41fc19c82ec4fc75c25c72",
      "old_mode": 33188,
      "old_path": "src/pkg/os/env_plan9.go",
      "new_id": "14df55ed0edd8a1cdef4adc82c91a8c30f1ad32f",
      "new_mode": 33188,
      "new_path": "src/pkg/os/env_plan9.go"
    },
    {
      "type": "modify",
      "old_id": "f14d00dd1e20f0308a4a83efc4fa57a607c43e25",
      "old_mode": 33188,
      "old_path": "src/pkg/os/file.go",
      "new_id": "3aad8023453358517fdede659574941e625af93a",
      "new_mode": 33188,
      "new_path": "src/pkg/os/file.go"
    },
    {
      "type": "modify",
      "old_id": "2de9efc643a8e92b39b2ab637daf1e93ed856d72",
      "old_mode": 33188,
      "old_path": "src/pkg/os/file_plan9.go",
      "new_id": "b79256c51ed1a446a9745ae2a688f6092e4b2465",
      "new_mode": 33188,
      "new_path": "src/pkg/os/file_plan9.go"
    },
    {
      "type": "modify",
      "old_id": "9edfaddfcdc2504020fc81385c106090cccb7f9a",
      "old_mode": 33188,
      "old_path": "src/pkg/os/file_unix.go",
      "new_id": "f2b94f4c2dbb82bcffa475a673eddf555ffb3113",
      "new_mode": 33188,
      "new_path": "src/pkg/os/file_unix.go"
    },
    {
      "type": "modify",
      "old_id": "d14c38e17f1d110def2312d98a2bc1345accfb1c",
      "old_mode": 33188,
      "old_path": "src/pkg/os/file_windows.go",
      "new_id": "16dd4b6e045cf0f5c95b226862e2b1235cdfa15c",
      "new_mode": 33188,
      "new_path": "src/pkg/os/file_windows.go"
    },
    {
      "type": "modify",
      "old_id": "49aaea865f2274f7dec9d3a587c7cd0f4a6a3447",
      "old_mode": 33188,
      "old_path": "src/pkg/os/getwd.go",
      "new_id": "4c142ad3abbf453b7ec9a8cbe2d4355f6b3ad35b",
      "new_mode": 33188,
      "new_path": "src/pkg/os/getwd.go"
    },
    {
      "type": "modify",
      "old_id": "79c3bfa36e489e8af75fbc29f3fd57033e080058",
      "old_mode": 33188,
      "old_path": "src/pkg/os/inotify/inotify_linux_test.go",
      "new_id": "f5d1f8384df5533fdff33c18803658b20f80ef07",
      "new_mode": 33188,
      "new_path": "src/pkg/os/inotify/inotify_linux_test.go"
    },
    {
      "type": "modify",
      "old_id": "1f34e54f5f094af60c4c1e36439f5b7fd0616498",
      "old_mode": 33188,
      "old_path": "src/pkg/os/os_test.go",
      "new_id": "394440b308f2a9854dcf5b1d43aacd8aeea6b22e",
      "new_mode": 33188,
      "new_path": "src/pkg/os/os_test.go"
    },
    {
      "type": "modify",
      "old_id": "318dc735bf62842844d67189e16176ae5e975117",
      "old_mode": 33188,
      "old_path": "src/pkg/os/path.go",
      "new_id": "0eb3ee50369b98d1f986915181065c811e018304",
      "new_mode": 33188,
      "new_path": "src/pkg/os/path.go"
    },
    {
      "type": "modify",
      "old_id": "d30e904fff155d94f63f9ea1cd94413ee3ae1065",
      "old_mode": 33188,
      "old_path": "src/pkg/os/path_test.go",
      "new_id": "483bb639535ddbc748c0b366d249a70fd8e3c23f",
      "new_mode": 33188,
      "new_path": "src/pkg/os/path_test.go"
    },
    {
      "type": "modify",
      "old_id": "b82d295d3d6c33d43399d40d59bc69b50a754ba8",
      "old_mode": 33188,
      "old_path": "src/pkg/os/sys_linux.go",
      "new_id": "408d667c7cf1e2d5425fabe580208260a6fcb372",
      "new_mode": 33188,
      "new_path": "src/pkg/os/sys_linux.go"
    },
    {
      "type": "modify",
      "old_id": "ac44445af36ab53cbc67910c8d0fa7882ade2674",
      "old_mode": 33188,
      "old_path": "src/pkg/os/sys_plan9.go",
      "new_id": "f6af28b611601e61de78cd3d93e0a5d4d8b8b927",
      "new_mode": 33188,
      "new_path": "src/pkg/os/sys_plan9.go"
    },
    {
      "type": "modify",
      "old_id": "3b36d18ef725d70098162f37892078e7e3c71cbe",
      "old_mode": 33188,
      "old_path": "src/pkg/path/filepath/match.go",
      "new_id": "a05bb5f7e71d6c050cb3df885b7545653b8085ed",
      "new_mode": 33188,
      "new_path": "src/pkg/path/filepath/match.go"
    },
    {
      "type": "modify",
      "old_id": "4907dac937d60170cd35da05e5d9b77c3b4f79a0",
      "old_mode": 33188,
      "old_path": "src/pkg/path/filepath/path.go",
      "new_id": "de673a7257725cf0d3e266af206f393794bad87d",
      "new_mode": 33188,
      "new_path": "src/pkg/path/filepath/path.go"
    },
    {
      "type": "modify",
      "old_id": "7ef69461ee25defb4a2860991f33b336b7a38f54",
      "old_mode": 33188,
      "old_path": "src/pkg/path/filepath/path_test.go",
      "new_id": "b3b6eb5abafe3f2f422429e0dd06c76e21fa5dac",
      "new_mode": 33188,
      "new_path": "src/pkg/path/filepath/path_test.go"
    },
    {
      "type": "modify",
      "old_id": "305adcc0c41068b0df134f7ed22cb671eabaf691",
      "old_mode": 33188,
      "old_path": "src/pkg/strconv/fp_test.go",
      "new_id": "34baeee39b3360a7dcc35d41e3a42c038a74e6d3",
      "new_mode": 33188,
      "new_path": "src/pkg/strconv/fp_test.go"
    },
    {
      "type": "modify",
      "old_id": "6d303cc6f2cd86de8a6f2e45ad1ed8fed0da8c05",
      "old_mode": 33188,
      "old_path": "src/pkg/testing/testing.go",
      "new_id": "1e65528ef9689dee95d41b652f9006ed69fd6eb6",
      "new_mode": 33188,
      "new_path": "src/pkg/testing/testing.go"
    }
  ]
}
