)]}'
{
  "commit": "32f69c36e0eec1227934bbd34854bfebd88686f2",
  "tree": "1587e9de84816b77168afa81c1594cc686809910",
  "parents": [
    "ac244f8d287a6119155ea672c8fd13c487c5e4c7"
  ],
  "author": {
    "name": "rsc",
    "email": "devnull@localhost",
    "time": "Thu Dec 11 17:48:38 2003 +0000"
  },
  "committer": {
    "name": "rsc",
    "email": "devnull@localhost",
    "time": "Thu Dec 11 17:48:38 2003 +0000"
  },
  "message": "Add support for user-level 9P servers/clients and various bug fixes to go with them.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "411bcef2dc8dcdafbe7c838331f4b424d064f9e6",
      "old_mode": 33261,
      "old_path": "bin/B",
      "new_id": "fb45d3e443198facb1a26c88517eea22aaa795b7",
      "new_mode": 33261,
      "new_path": "bin/B"
    },
    {
      "type": "modify",
      "old_id": "f85487bd7af777d557aab3eaa0a53cb73dbe237d",
      "old_mode": 33188,
      "old_path": "include/fcall.h",
      "new_id": "893b05044a117aa4299923210118859bd0e49d52",
      "new_mode": 33188,
      "new_path": "include/fcall.h"
    },
    {
      "type": "modify",
      "old_id": "219b2774a5a98dbd58e8e9b4ee871215fec510fa",
      "old_mode": 33188,
      "old_path": "include/fs.h",
      "new_id": "384427091b538e0832f96ee31998a4d1a03bfeda",
      "new_mode": 33188,
      "new_path": "include/fs.h"
    },
    {
      "type": "modify",
      "old_id": "ce5187cdb5a3f633f69dbf128f9404f342db3e8d",
      "old_mode": 33188,
      "old_path": "include/lib9.h",
      "new_id": "de082499cd29888671616f284a6fea17aa7f7ecf",
      "new_mode": 33188,
      "new_path": "include/lib9.h"
    },
    {
      "type": "modify",
      "old_id": "e9dc96e031bc83452a1ba63890272997a0a4a26f",
      "old_mode": 33188,
      "old_path": "include/thread.h",
      "new_id": "0eb02b5291e09555a3a08f92682fa97b74a4cc1c",
      "new_mode": 33188,
      "new_path": "include/thread.h"
    },
    {
      "type": "modify",
      "old_id": "a065799e50b210871a42023198f377a7b91f9c1a",
      "old_mode": 33188,
      "old_path": "plumb/basic",
      "new_id": "918cc51b12f20057a0e9fc5d864ed3eb0217c8bd",
      "new_mode": 33188,
      "new_path": "plumb/basic"
    },
    {
      "type": "modify",
      "old_id": "7c018c34b542cbfe666ab884688d000234dd6040",
      "old_mode": 33188,
      "old_path": "src/cmd/9p.c",
      "new_id": "e94817460c1546239e58389fd1ed8431ca873adb",
      "new_mode": 33188,
      "new_path": "src/cmd/9p.c"
    },
    {
      "type": "modify",
      "old_id": "ad77236e85e4b534256a2917fb0056b00d60c91a",
      "old_mode": 33188,
      "old_path": "src/cmd/9pserve.c",
      "new_id": "c33beb142926698c48fc59922888ed08c1937136",
      "new_mode": 33188,
      "new_path": "src/cmd/9pserve.c"
    },
    {
      "type": "modify",
      "old_id": "ef51d864b35a4acabeaf6aeb2ecc7ffe8f184d2c",
      "old_mode": 33188,
      "old_path": "src/cmd/9term/9term.c",
      "new_id": "cfee0013b4a7b8b9bca1152733fb20d01d380ed2",
      "new_mode": 33188,
      "new_path": "src/cmd/9term/9term.c"
    },
    {
      "type": "modify",
      "old_id": "d7d4a6d0d35270fc7726a6b5c79b78f1a3aea7b4",
      "old_mode": 33188,
      "old_path": "src/cmd/9term/mkfile",
      "new_id": "2706dda660e8c3e0aa08cfee5fcb0677505f5676",
      "new_mode": 33188,
      "new_path": "src/cmd/9term/mkfile"
    },
    {
      "type": "modify",
      "old_id": "21967de19ed732aa509ce4b4e420870179fcd753",
      "old_mode": 33188,
      "old_path": "src/cmd/dc.c",
      "new_id": "daff401d89bcc7f8b152fbd4505d65a75851bb63",
      "new_mode": 33188,
      "new_path": "src/cmd/dc.c"
    },
    {
      "type": "modify",
      "old_id": "dccd3037022755943512cee76eadb33c3947a592",
      "old_mode": 33188,
      "old_path": "src/cmd/dict/dict.c",
      "new_id": "8cbf6aac077348accfa714b9d871c472b25009f9",
      "new_mode": 33188,
      "new_path": "src/cmd/dict/dict.c"
    },
    {
      "type": "modify",
      "old_id": "8e4db9e9785de8e42622c245fc7d9b9114939a76",
      "old_mode": 33188,
      "old_path": "src/cmd/dict/utils.c",
      "new_id": "6916d5492f1222c09953fcefd26ae29428602bdf",
      "new_mode": 33188,
      "new_path": "src/cmd/dict/utils.c"
    },
    {
      "type": "modify",
      "old_id": "8450d94bf5833cd02b3a0b0c36ba7c9494d503f7",
      "old_mode": 33188,
      "old_path": "src/cmd/mkfile",
      "new_id": "e2131e777df8a1e39e9d48c05ffa8ac90bc5b489",
      "new_mode": 33188,
      "new_path": "src/cmd/mkfile"
    },
    {
      "type": "modify",
      "old_id": "6f95a23a8ab6b9d354f809fe41ca29270e2c510e",
      "old_mode": 33188,
      "old_path": "src/cmd/plumb/fsys.c",
      "new_id": "912e5ca0235628a823feeca07457db569c03e0b1",
      "new_mode": 33188,
      "new_path": "src/cmd/plumb/fsys.c"
    },
    {
      "type": "modify",
      "old_id": "42a9232ff77a245681a9e294e09e2f18de8a7504",
      "old_mode": 33188,
      "old_path": "src/cmd/plumb/match.c",
      "new_id": "dc1abbb1554cbb6eabbab288eaa7eb2286e491e0",
      "new_mode": 33188,
      "new_path": "src/cmd/plumb/match.c"
    },
    {
      "type": "modify",
      "old_id": "d6a146541af7fba17ccb02ce4329d7bcd78ea783",
      "old_mode": 33188,
      "old_path": "src/cmd/plumb/mkfile",
      "new_id": "6550387f85461e005767459d452ab22f892c9d82",
      "new_mode": 33188,
      "new_path": "src/cmd/plumb/mkfile"
    },
    {
      "type": "modify",
      "old_id": "d0bd9c14e33ed9cadeeefc12c3ac6cd5573d1bc1",
      "old_mode": 33188,
      "old_path": "src/cmd/plumb/plumber.c",
      "new_id": "424469f2d2ee2405dfbc1e8a71b0a388d5a785bb",
      "new_mode": 33188,
      "new_path": "src/cmd/plumb/plumber.c"
    },
    {
      "type": "modify",
      "old_id": "0d1205f988acdf04ae3d7e1ed02b176948ad500d",
      "old_mode": 33188,
      "old_path": "src/cmd/plumb/plumber.h",
      "new_id": "4b9267a5fdc6e88a02df6a08a8a8b4144d3d7572",
      "new_mode": 33188,
      "new_path": "src/cmd/plumb/plumber.h"
    },
    {
      "type": "modify",
      "old_id": "262f6d67f53928c16aeccc2964e46cc974dc3fbe",
      "old_mode": 33188,
      "old_path": "src/cmd/plumb/rules.c",
      "new_id": "b51bb61f013721a49727787ab58810b3c5d88594",
      "new_mode": 33188,
      "new_path": "src/cmd/plumb/rules.c"
    },
    {
      "type": "modify",
      "old_id": "1b250ba1143f27c911cda5237b0dec98887fffb0",
      "old_mode": 33188,
      "old_path": "src/cmd/rc/plan9ish.c",
      "new_id": "abb66cc387c221526b83a496130ad3f44f53ed38",
      "new_mode": 33188,
      "new_path": "src/cmd/rc/plan9ish.c"
    },
    {
      "type": "modify",
      "old_id": "45cfc3bcaf7d66e6f6414137653ab58e04ef26ca",
      "old_mode": 33188,
      "old_path": "src/cmd/sam/unix.c",
      "new_id": "b8a67b9024ef885d38516e04c370130a801834d2",
      "new_mode": 33188,
      "new_path": "src/cmd/sam/unix.c"
    },
    {
      "type": "modify",
      "old_id": "05e9d5891d7fa3ef644fc88c7e9a60ce8d472120",
      "old_mode": 33188,
      "old_path": "src/cmd/yacc.c",
      "new_id": "d9e307619d24cd90cf733442c03487d6f657867b",
      "new_mode": 33188,
      "new_path": "src/cmd/yacc.c"
    },
    {
      "type": "modify",
      "old_id": "04c712d9b27b96457928dfe0f9836cd075ffec51",
      "old_mode": 33188,
      "old_path": "src/lib9/announce.c",
      "new_id": "9f07bd2293c96907db947cf5003832c035491786",
      "new_mode": 33188,
      "new_path": "src/lib9/announce.c"
    },
    {
      "type": "modify",
      "old_id": "89c695ae172305087ae1801140ee1b19ff13f080",
      "old_mode": 33188,
      "old_path": "src/lib9/await.c",
      "new_id": "5f2d58bad578f09233321a9f0b30f42cc650d067",
      "new_mode": 33188,
      "new_path": "src/lib9/await.c"
    },
    {
      "type": "modify",
      "old_id": "fcdcd42d60f6f0d533747aab47b01af7651cf926",
      "old_mode": 33188,
      "old_path": "src/lib9/convM2S.c",
      "new_id": "920775ea12606a6f99ea8adf3823349d454cc009",
      "new_mode": 33188,
      "new_path": "src/lib9/convM2S.c"
    },
    {
      "type": "modify",
      "old_id": "9acdcfa567fbb744c66980c00bea5397ad895f98",
      "old_mode": 33188,
      "old_path": "src/lib9/convS2M.c",
      "new_id": "6e9d2719270832bb2d985b0475197eacc8939290",
      "new_mode": 33188,
      "new_path": "src/lib9/convS2M.c"
    },
    {
      "type": "modify",
      "old_id": "abef0c3515d2456d073ff03f3eaacde7f161532e",
      "old_mode": 33188,
      "old_path": "src/lib9/create.c",
      "new_id": "bdad5f6a0c8f8e69a6b0f594255deb43adc6ccf7",
      "new_mode": 33188,
      "new_path": "src/lib9/create.c"
    },
    {
      "type": "modify",
      "old_id": "4eef88dece82b5c102c1a4deb66119bfaff3e2a3",
      "old_mode": 33188,
      "old_path": "src/lib9/fcallfmt.c",
      "new_id": "592316fe7db49a1445e66472a547e79df7448c3a",
      "new_mode": 33188,
      "new_path": "src/lib9/fcallfmt.c"
    },
    {
      "type": "modify",
      "old_id": "c6ff71605ee17216a5d8b68a00c1d3541c53610f",
      "old_mode": 33188,
      "old_path": "src/lib9/getenv.c",
      "new_id": "2a2d1391338543560e7cb5209cfa0016dc0c26b2",
      "new_mode": 33188,
      "new_path": "src/lib9/getenv.c"
    },
    {
      "type": "modify",
      "old_id": "14d8c0e080846b16b1a2c6870df2eec872cfb99d",
      "old_mode": 33188,
      "old_path": "src/lib9/mkfile",
      "new_id": "a0e75fc36fa1a31463a56aba4f7c2070ca97e24b",
      "new_mode": 33188,
      "new_path": "src/lib9/mkfile"
    },
    {
      "type": "modify",
      "old_id": "460eabfe40a1407a1cf68ac3c00879cf7f7c0532",
      "old_mode": 33188,
      "old_path": "src/lib9/notify.c",
      "new_id": "160755d0b91ba317d7f5585acc8f94be22da492a",
      "new_mode": 33188,
      "new_path": "src/lib9/notify.c"
    },
    {
      "type": "modify",
      "old_id": "270c3cddf04043ca3151ea2bccf28094132b0cca",
      "old_mode": 33188,
      "old_path": "src/lib9/rfork.c",
      "new_id": "f3a21928dd0278596dc931e5cd69f8727cb82758",
      "new_mode": 33188,
      "new_path": "src/lib9/rfork.c"
    },
    {
      "type": "modify",
      "old_id": "a1ff278af9f2da9a6613a262f607e780d7a749ea",
      "old_mode": 33188,
      "old_path": "src/libdraw/openfont.c",
      "new_id": "0b3dc253a836db332ecb2d7268f20375f5bfb8f2",
      "new_mode": 33188,
      "new_path": "src/libdraw/openfont.c"
    },
    {
      "type": "modify",
      "old_id": "458efc61fdee4de8974315802a1ecd8d0fc6a274",
      "old_mode": 33188,
      "old_path": "src/libdraw/x11-alloc.c",
      "new_id": "9a6585cbc7a745226798e17d0bd4098a433c9300",
      "new_mode": 33188,
      "new_path": "src/libdraw/x11-alloc.c"
    },
    {
      "type": "modify",
      "old_id": "25a325c62a620e81793a140fff542176f01b04b5",
      "old_mode": 33188,
      "old_path": "src/libdraw/x11-cload.c",
      "new_id": "7a84a98372349917c3102caad717f84270423b52",
      "new_mode": 33188,
      "new_path": "src/libdraw/x11-cload.c"
    },
    {
      "type": "modify",
      "old_id": "97438740e899e297802ca550fcf6ef45aa59e4aa",
      "old_mode": 33188,
      "old_path": "src/libdraw/x11-draw.c",
      "new_id": "6373e4e3a537da13ea99a3ad9e2dc87454b7bfb9",
      "new_mode": 33188,
      "new_path": "src/libdraw/x11-draw.c"
    },
    {
      "type": "modify",
      "old_id": "408eb4191aba4f1c8d5f257e4bb49d95b407eab6",
      "old_mode": 33188,
      "old_path": "src/libdraw/x11-event.c",
      "new_id": "ba9d031b6914ca710cf29fb432a232c260cec238",
      "new_mode": 33188,
      "new_path": "src/libdraw/x11-event.c"
    },
    {
      "type": "modify",
      "old_id": "ff0b2e86527813a32cc37367cbf08b71c2f43600",
      "old_mode": 33188,
      "old_path": "src/libdraw/x11-fill.c",
      "new_id": "33fc6a2ad145cb730ca027728242291c77240174",
      "new_mode": 33188,
      "new_path": "src/libdraw/x11-fill.c"
    },
    {
      "type": "modify",
      "old_id": "a6d4b12ecc727f9c608327bc3dfb26c37433a6bd",
      "old_mode": 33188,
      "old_path": "src/libdraw/x11-get.c",
      "new_id": "693b2938deb86e4388dd6611c38a3d49ad831da0",
      "new_mode": 33188,
      "new_path": "src/libdraw/x11-get.c"
    },
    {
      "type": "modify",
      "old_id": "6f87b41241a6ba1e1324dbb40a3dfdabf7a614d4",
      "old_mode": 33188,
      "old_path": "src/libdraw/x11-init.c",
      "new_id": "fb6a91449fbfb31e090eb0b1dfd2eda2d6dac777",
      "new_mode": 33188,
      "new_path": "src/libdraw/x11-init.c"
    },
    {
      "type": "modify",
      "old_id": "0c9924499c38d1708611fe582620a6de315af31d",
      "old_mode": 33188,
      "old_path": "src/libdraw/x11-itrans.c",
      "new_id": "8e72b011e66d53e9ea0a2a29a7d27f70adea3384",
      "new_mode": 33188,
      "new_path": "src/libdraw/x11-itrans.c"
    },
    {
      "type": "modify",
      "old_id": "443074e994b4c4c3aa1bda37854f6465bd26d297",
      "old_mode": 33188,
      "old_path": "src/libdraw/x11-keyboard.c",
      "new_id": "676027e306e4a39cdabadc9358c5a9d2f010eb1b",
      "new_mode": 33188,
      "new_path": "src/libdraw/x11-keyboard.c"
    },
    {
      "type": "modify",
      "old_id": "e4e32bf2419d2bbb9d58d22c8fd1f40195ea9004",
      "old_mode": 33188,
      "old_path": "src/libdraw/x11-load.c",
      "new_id": "5292275a13fb531047f2814faa0092c6f7ef7c2a",
      "new_mode": 33188,
      "new_path": "src/libdraw/x11-load.c"
    },
    {
      "type": "modify",
      "old_id": "afd47ccc4d52fa961b239054a0ab4ad6f5f4e01e",
      "old_mode": 33188,
      "old_path": "src/libdraw/x11-memdraw.h",
      "new_id": "1e84b92638553d829c764a46a9a95480f6c1189a",
      "new_mode": 33188,
      "new_path": "src/libdraw/x11-memdraw.h"
    },
    {
      "type": "modify",
      "old_id": "eae26788d834cb330f0def04e26418fbd7a0afb1",
      "old_mode": 33188,
      "old_path": "src/libdraw/x11-mouse.c",
      "new_id": "9e5143c65d8e0cbc938fb5f6fd3b5ea3d0b5b050",
      "new_mode": 33188,
      "new_path": "src/libdraw/x11-mouse.c"
    },
    {
      "type": "modify",
      "old_id": "8635b0ba456d044c252552f6971bced7df24bf11",
      "old_mode": 33188,
      "old_path": "src/libdraw/x11-pixelbits.c",
      "new_id": "22dfc60634848e17d826195a65799e254b16e8f2",
      "new_mode": 33188,
      "new_path": "src/libdraw/x11-pixelbits.c"
    },
    {
      "type": "modify",
      "old_id": "3e8a635c1bc04d579c4fab8acb331156a6229fd6",
      "old_mode": 33188,
      "old_path": "src/libdraw/x11-unload.c",
      "new_id": "471ca880952441f5538d748a35badec54d58b791",
      "new_mode": 33188,
      "new_path": "src/libdraw/x11-unload.c"
    },
    {
      "type": "modify",
      "old_id": "b34df3406ca2bac4e14f258e9c9086f92efedfa5",
      "old_mode": 33188,
      "old_path": "src/libfs/fs.c",
      "new_id": "91d4af174d2f2410d8292e1e01538920883e046e",
      "new_mode": 33188,
      "new_path": "src/libfs/fs.c"
    },
    {
      "type": "modify",
      "old_id": "acfb0ae5990ba8fdbdfb4eba69913ff94ec5c756",
      "old_mode": 33188,
      "old_path": "src/libfs/mkfile",
      "new_id": "d4c8b49fe3573074cf606e298951aa860616f2e9",
      "new_mode": 33188,
      "new_path": "src/libfs/mkfile"
    },
    {
      "type": "modify",
      "old_id": "b1fdeb039b6eb327e7220d6b9431179dc2b1d22c",
      "old_mode": 33188,
      "old_path": "src/libmux/mux.c",
      "new_id": "bc63260249f41bc3b75fd6e1d41d3b3f92f62a69",
      "new_mode": 33188,
      "new_path": "src/libmux/mux.c"
    },
    {
      "type": "modify",
      "old_id": "8678d753fa954b55073739bc5a4cecf6d72c9be7",
      "old_mode": 33261,
      "old_path": "src/libplumb/mesg.c",
      "new_id": "fcade7f4c9a0885db50e98668d0582b14e1d6642",
      "new_mode": 33261,
      "new_path": "src/libplumb/mesg.c"
    },
    {
      "type": "modify",
      "old_id": "7cad85cc70b800972d718bd7e66983e8ee588280",
      "old_mode": 33188,
      "old_path": "src/libthread/asm-FreeBSD-386.s",
      "new_id": "074556f9b50819c8d8525aefdd419a2851cdbb92",
      "new_mode": 33188,
      "new_path": "src/libthread/asm-FreeBSD-386.s"
    },
    {
      "type": "modify",
      "old_id": "55f6c60cfb1ae78885bd52ace003667003cdfea8",
      "old_mode": 33188,
      "old_path": "src/libthread/create.c",
      "new_id": "d487e1954f41b7fb187d8384770f7e1185f84de4",
      "new_mode": 33188,
      "new_path": "src/libthread/create.c"
    },
    {
      "type": "modify",
      "old_id": "ef50bf198e07766922459e71095027eb28da0f41",
      "old_mode": 33188,
      "old_path": "src/libthread/exec-unix.c",
      "new_id": "97c756079abe0771ca6d34141a4f2078e49d5a71",
      "new_mode": 33188,
      "new_path": "src/libthread/exec-unix.c"
    },
    {
      "type": "modify",
      "old_id": "bcf2080285eade1f75c0d9cd0ac4b465f2f754b6",
      "old_mode": 33188,
      "old_path": "src/libthread/exec.c",
      "new_id": "0fb68111f178b479e17723fdf9a15107a29a2ea3",
      "new_mode": 33188,
      "new_path": "src/libthread/exec.c"
    },
    {
      "type": "modify",
      "old_id": "06c1293545f5cbeb749dc7baaf36a36f6f499195",
      "old_mode": 33188,
      "old_path": "src/libthread/main.c",
      "new_id": "97a6154afdb37d552ccf7ef92860b04ed8654f15",
      "new_mode": 33188,
      "new_path": "src/libthread/main.c"
    },
    {
      "type": "modify",
      "old_id": "b7f4b13752ae11ec0a7327b53553dc5ba1751724",
      "old_mode": 33188,
      "old_path": "src/libthread/note.c",
      "new_id": "b25f2b23c336de568dfbae2a0d0cfea1a7c17c4b",
      "new_mode": 33188,
      "new_path": "src/libthread/note.c"
    },
    {
      "type": "modify",
      "old_id": "d6af1c7c0a9977e243f2fad904acaeaa751648ed",
      "old_mode": 33188,
      "old_path": "src/libthread/sched.c",
      "new_id": "d85a76e21ec195ed692e604809e7a7fdb86d9de8",
      "new_mode": 33188,
      "new_path": "src/libthread/sched.c"
    },
    {
      "type": "modify",
      "old_id": "aa69845cda2fc43adc2afa964b6be25538b9e2f6",
      "old_mode": 33188,
      "old_path": "src/libthread/threadimpl.h",
      "new_id": "0dd1e8704711fef5f0b05ef39d3f7addf41ffe86",
      "new_mode": 33188,
      "new_path": "src/libthread/threadimpl.h"
    }
  ]
}
