)]}'
{
  "log": [
    {
      "commit": "072df49d23ae6febf0d7386dee40fd2e70eb4378",
      "tree": "9de15dda67648a819c05844ec92df0d0378a041c",
      "parents": [
        "183bc86a429d1f75f52763f8a79220be48e65966"
      ],
      "author": {
        "name": "Aaron Wood",
        "email": "aaronwood@google.com",
        "time": "Thu Apr 23 17:06:05 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 23 18:43:54 2026 -0700"
      },
      "message": "[bazel] Allow \u0027sbase_binaries\u0027 to be used by Bazel build rules\n\nThis allows Bazel build rules to get the same list of sbase binaries as is\nused by GN.\n\nBug: 505830390\nChange-Id: I1548d74863e2011edb168b4ecc5a7610de5ff5b2\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/1586928\nCommit-Queue: Aaron Wood \u003caaronwood@google.com\u003e\nFuchsia-Auto-Submit: Aaron Wood \u003caaronwood@google.com\u003e\nReviewed-by: David Fang \u003cfangism@google.com\u003e\n"
    },
    {
      "commit": "183bc86a429d1f75f52763f8a79220be48e65966",
      "tree": "e636b20abfbef49e201ce1bf16a65b9bf4b47547",
      "parents": [
        "93c62640cc887626fec78978e901e8c046ac0460"
      ],
      "author": {
        "name": "Aaron Wood",
        "email": "aaronwood@google.com",
        "time": "Thu Apr 23 12:26:49 2026 -0700"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Apr 23 18:34:33 2026 -0700"
      },
      "message": "[build] Allow targets in subdirectories of //bundles/assembly to reference sbase packages\n\nThis is in preparation to migrating AIBs to Bazel.\n\nBug: 505830390\nChange-Id: Iaaaf5462724bdae5b27d9bad4111ff66a1faeb4a\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/1586548\nFuchsia-Auto-Submit: Aaron Wood \u003caaronwood@google.com\u003e\nReviewed-by: David Fang \u003cfangism@google.com\u003e\nCommit-Queue: Aaron Wood \u003caaronwood@google.com\u003e\n"
    },
    {
      "commit": "93c62640cc887626fec78978e901e8c046ac0460",
      "tree": "e8f2ed160c0a957d01be1847c508f35a18869254",
      "parents": [
        "8a4ef48fa571820b539f4bbf3346f47ff7e8008e"
      ],
      "author": {
        "name": "Aaron Wood",
        "email": "aaronwood@google.com",
        "time": "Wed Feb 19 13:06:52 2025 -0800"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Feb 20 17:25:29 2025 -0800"
      },
      "message": "[sbase] Don\u0027t make components for shell builtins\n\nThese binaries are all shell builtins and therefore are never\nused.\n\nRun-All-Tests: true\n\nChange-Id: Ifc6d5e6b93d2d612bdcbc27ad0a16044b20c04e2\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/1210012\nReviewed-by: James Robinson \u003cjamesr@google.com\u003e\nCommit-Queue: Aaron Wood \u003caaronwood@google.com\u003e\n"
    },
    {
      "commit": "8a4ef48fa571820b539f4bbf3346f47ff7e8008e",
      "tree": "ff785707d115facb9f3dee124cc0860463202279",
      "parents": [
        "01a488afa0c102102c40102660ee7a38dfa7ed59"
      ],
      "author": {
        "name": "Aaron Wood",
        "email": "aaronwood@google.com",
        "time": "Thu Apr 18 11:14:25 2024 -0700"
      },
      "committer": {
        "name": "CQ Bot",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Apr 19 00:28:35 2024 +0000"
      },
      "message": "[build][assembly] Restrict visiblity of sbase binaries and remove unused targets\n\nNow that the sbase tools are added via assembly, remove unnecessary\ntargets and restrict the visibility of all targets down to those that\nneed to add the sbase tools to specific packages.\n\nBug: b/332905857\nChange-Id: I1d6f484cdaf33fc5bc4dc603c8f4ce0c802d233b\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/1031099\nReviewed-by: John Wittrock \u003cwittrock@google.com\u003e\nFuchsia-Auto-Submit: Aaron Wood \u003caaronwood@google.com\u003e\nCommit-Queue: Aaron Wood \u003caaronwood@google.com\u003e\n"
    },
    {
      "commit": "01a488afa0c102102c40102660ee7a38dfa7ed59",
      "tree": "bf14674303a4c0e884e823cf4d2da264ee180a9c",
      "parents": [
        "2239ac43d47c31027f42f68882037fdd2629452e"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Fri Nov 17 04:32:22 2023 +0000"
      },
      "committer": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Tue Nov 21 03:04:55 2023 +0000"
      },
      "message": "[assembly] Remove unused sbase shell package\n\nBug: b/308694417\nChange-Id: I4ee0834d373948fdb92a613c95a55a8318e28ba1\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/947768\nReviewed-by: David Iserovich \u003cdiserovich@google.com\u003e\n"
    },
    {
      "commit": "2239ac43d47c31027f42f68882037fdd2629452e",
      "tree": "27ae37a935a6d6f83c6cf217b5d5a1555b3b56fc",
      "parents": [
        "7fe9bcc8ffde1b50300465c12227071f5955beee"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Fri Nov 17 15:17:13 2023 +0000"
      },
      "committer": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Fri Nov 17 16:46:06 2023 +0000"
      },
      "message": "[assembly] Move sbase binaries list to gni import\n\nThis will allow fuchsia.git to use the same list without duplicating it.\n\nBug: b/308694417\nChange-Id: I30743f06e8c5af2d05f5e46080bd845904e82f2a\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/948452\nReviewed-by: David Iserovich \u003cdiserovich@google.com\u003e\n"
    },
    {
      "commit": "7fe9bcc8ffde1b50300465c12227071f5955beee",
      "tree": "f410acfd0400b56fc48cad75ab64063df875dfa9",
      "parents": [
        "26969d91256f88f6e459d5b047453ad56847118d"
      ],
      "author": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Fri Nov 17 04:31:35 2023 +0000"
      },
      "committer": {
        "name": "Aidan Wolter",
        "email": "awolter@google.com",
        "time": "Fri Nov 17 16:46:06 2023 +0000"
      },
      "message": "[assembly] Add non-shell-package for sbase\n\nsbase is moving to a normal package so that it can be added to\ndiscoverable. The shell command metadata is added directly by assembly.\n\nBug: b/308694417\nChange-Id: I13e6765a3c88020c1e4e356b716db89569e5b97d\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/947767\nReviewed-by: David Iserovich \u003cdiserovich@google.com\u003e\n"
    },
    {
      "commit": "26969d91256f88f6e459d5b047453ad56847118d",
      "tree": "5ca662294c20a05e845f77f10bb8a8a601ea6282",
      "parents": [
        "17f014e8bcd96c9ddf7ef61798b396fa2a84a240"
      ],
      "author": {
        "name": "Shai Barack",
        "email": "shayba@google.com",
        "time": "Sun May 29 09:48:05 2022 -0700"
      },
      "committer": {
        "name": "Shai Barack",
        "email": "shayba@google.com",
        "time": "Sun May 29 23:46:44 2022 +0000"
      },
      "message": "[sbase] Create group\n\nAllow targets from other repos to depend on all sbase utils without\nknowing exactly what they are.\n\nBug: 98086\nChange-Id: I5257bd1248cdda6ca791def4a75248306df2f647\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/684726\nReviewed-by: Jay Zhuang \u003cjayzhuang@google.com\u003e\n"
    },
    {
      "commit": "17f014e8bcd96c9ddf7ef61798b396fa2a84a240",
      "tree": "a97461352fdc6416ca0fbecaf8465ac15c2a1c46",
      "parents": [
        "835c04e0f00ff640b07a47ac1ac6ac30ec8d5fd2"
      ],
      "author": {
        "name": "Xyan Bhatnagar",
        "email": "xbhatnag@google.com",
        "time": "Mon May 16 20:50:44 2022 +0000"
      },
      "committer": {
        "name": "Xyan Bhatnagar",
        "email": "xbhatnag@google.com",
        "time": "Fri May 27 20:58:41 2022 +0000"
      },
      "message": "[sbase] Create a GN target for sbase binaries\n\nThis GN target collects all executables for sbase binaries,\nallowing them to be imported in bulk.\n\nChange-Id: Ic854366f96e880e5f93a53e8895aeb8fdeaa6fbe\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/680146\nReviewed-by: Shai Barack \u003cshayba@google.com\u003e\n"
    },
    {
      "commit": "835c04e0f00ff640b07a47ac1ac6ac30ec8d5fd2",
      "tree": "e1051589eba94f4f00f6aa7b07299a2e5ac84166",
      "parents": [
        "b95daf5d62acf90bd1a9391d45d558b9877f7caf"
      ],
      "author": {
        "name": "Abdulla Kamar",
        "email": "abdulla@google.com",
        "time": "Mon Jan 31 13:28:12 2022 +1100"
      },
      "committer": {
        "name": "Abdulla Kamar",
        "email": "abdulla@google.com",
        "time": "Mon Jan 31 09:38:28 2022 +0000"
      },
      "message": "[sbase] Disable whoami binary\n\nBug: 88129\nChange-Id: I6f02e815a2b929a140831a5dcb0bbe89739f9dea\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/639102\nReviewed-by: Alex Legg \u003calexlegg@google.com\u003e\n"
    },
    {
      "commit": "b95daf5d62acf90bd1a9391d45d558b9877f7caf",
      "tree": "be05c85ed2c712f2cd1f15f97dc9fbd6bd3940fd",
      "parents": [
        "51f0e0f504dbe3dcf726a490c568373a46f7d97c"
      ],
      "author": {
        "name": "Shai Barack",
        "email": "shayba@google.com",
        "time": "Mon Nov 01 23:28:47 2021 -0700"
      },
      "committer": {
        "name": "Shai Barack",
        "email": "shayba@google.com",
        "time": "Tue Nov 02 15:50:36 2021 +0000"
      },
      "message": "[cpp] Suppress -Wstrict-prototypes\n\nBug: 56256\nChange-Id: Iaee025bafccd58a93f04bee8ba888402e10d71a1\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/601201\nReviewed-by: Tamir Duberstein \u003ctamird@google.com\u003e\n"
    },
    {
      "commit": "51f0e0f504dbe3dcf726a490c568373a46f7d97c",
      "tree": "f13010921ee59abf51448f3e5542e783d22d33d0",
      "parents": [
        "dd410d5a02cc0d999a2f27137e4a229e31a5cc6b"
      ],
      "author": {
        "name": "Tamir Duberstein",
        "email": "tamird@google.com",
        "time": "Thu Sep 02 20:53:38 2021 -0400"
      },
      "committer": {
        "name": "Tamir Duberstein",
        "email": "tamird@google.com",
        "time": "Tue Sep 07 17:55:55 2021 +0000"
      },
      "message": "Add -Wno-write-strings\n\nThis is being turned on in the main repo.\n\nChange-Id: Id6457ecfe09f702d1f31b40e191fde8096e40dfe\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/577005\nReviewed-by: Shai Barack \u003cshayba@google.com\u003e\n"
    },
    {
      "commit": "dd410d5a02cc0d999a2f27137e4a229e31a5cc6b",
      "tree": "5795ec851fcf7659299cbb0bbec1f611c8b1c603",
      "parents": [
        "776854cdaf95a14fccdf1e41b07363ed111670fb"
      ],
      "author": {
        "name": "Tamir Duberstein",
        "email": "tamird@google.com",
        "time": "Sun May 09 12:39:53 2021 -0400"
      },
      "committer": {
        "name": "Tamir Duberstein",
        "email": "tamird@google.com",
        "time": "Sun May 09 19:23:17 2021 +0000"
      },
      "message": "[config] Suppress implicit fallthrough\n\nChange-Id: I27992a8773e0dfa490d42cabf052b7589f558eba\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/527265\nReviewed-by: Shai Barack \u003cshayba@google.com\u003e\n"
    },
    {
      "commit": "776854cdaf95a14fccdf1e41b07363ed111670fb",
      "tree": "dd2a8ce45dba9d2951f59e0e293fb1037eee7d73",
      "parents": [
        "d132fd870cb12159bd07e00755f9eb1c63e2414a"
      ],
      "author": {
        "name": "Shai Barack",
        "email": "shayba@google.com",
        "time": "Fri Apr 16 13:37:40 2021 -0700"
      },
      "committer": {
        "name": "Shai Barack",
        "email": "shayba@google.com",
        "time": "Fri Apr 16 20:38:28 2021 +0000"
      },
      "message": "[build] //src/sys/components -\u003e //build/components\n\nChange-Id: I20fd35ac3f1a61cf489fbe26d3ceb9861465a64c\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/516742\nReviewed-by: Shai Barack \u003cshayba@google.com\u003e\n"
    },
    {
      "commit": "d132fd870cb12159bd07e00755f9eb1c63e2414a",
      "tree": "dd2a8ce45dba9d2951f59e0e293fb1037eee7d73",
      "parents": [
        "3396488749650c54584a03ddd6ef9224d08a561e"
      ],
      "author": {
        "name": "Shai Barack",
        "email": "shayba@google.com",
        "time": "Wed Apr 14 10:45:30 2021 -0700"
      },
      "committer": {
        "name": "Shai Barack",
        "email": "shayba@google.com",
        "time": "Wed Apr 14 17:51:28 2021 +0000"
      },
      "message": "[components] src/sys/build -\u003e build/components\n\nChange-Id: Ic56ba67f766c3b06dd65204284ff6c905165c8f0\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/515533\nReviewed-by: Shai Barack \u003cshayba@google.com\u003e\n"
    },
    {
      "commit": "3396488749650c54584a03ddd6ef9224d08a561e",
      "tree": "56443e0b205e1ce576892ab7368af6110ce6108a",
      "parents": [
        "ee9c1513c05854d19ce34bc3d8ed6482abf56cae"
      ],
      "author": {
        "name": "Shai Barack",
        "email": "shayba@google.com",
        "time": "Fri Jan 01 14:01:45 2021 -0800"
      },
      "committer": {
        "name": "Shai Barack",
        "email": "shayba@google.com",
        "time": "Tue Jan 05 17:15:54 2021 +0000"
      },
      "message": "[build] Modernize sbase package\n\nChange-Id: Ib45be19467dab8ade355d2c70a29bcf26c73581e\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/466857\nReviewed-by: Xyan Bhatnagar \u003cxbhatnag@google.com\u003e\n"
    },
    {
      "commit": "ee9c1513c05854d19ce34bc3d8ed6482abf56cae",
      "tree": "3b6699d9d4d61e1c6d7139b299d6b370b5cabfbf",
      "parents": [
        "39bd4c1090040c820e61b8e54cdb15f408d0c188"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Oct 05 18:46:39 2020 +0200"
      },
      "committer": {
        "name": "David Turner",
        "email": "digit@google.com",
        "time": "Tue Oct 06 08:53:21 2020 +0000"
      },
      "message": "[build][alln] Fix Zircon library dependency\n\nThis CL depends on [1] being submitted first to fuchsia.git\n\nIt updates references to the zircon library into a proper target\ndependency. This is required to move the sysroot generation to the\nFuchsia build.\n\nBug: 60613\nTesting: Does not change the build.\n\n[1] https://fuchsia-review.googlesource.com/c/fuchsia/+/433557\n\nChange-Id: I82b88bb8d300f6e08c4040825f4128da9ecd2c07\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/434758\nReviewed-by: Petr Hosek \u003cphosek@google.com\u003e\n"
    },
    {
      "commit": "39bd4c1090040c820e61b8e54cdb15f408d0c188",
      "tree": "45b457722481f99129be7ff5267dc7d75f070127",
      "parents": [
        "a427130b2ec69ecac6ba02b14db7b2db445f4324"
      ],
      "author": {
        "name": "Shai Barack",
        "email": "shayba@google.com",
        "time": "Sun Sep 13 16:10:50 2020 -0700"
      },
      "committer": {
        "name": "Shai Barack",
        "email": "shayba@google.com",
        "time": "Mon Sep 14 16:40:26 2020 +0000"
      },
      "message": "[Wconversion] Suppress warnings\n\nBug: 58162\nChange-Id: Id17085c0f42dd4d9936c489d4594ce521c8b1431\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/426271\nReviewed-by: David Turner \u003cdigit@google.com\u003e\n"
    },
    {
      "commit": "a427130b2ec69ecac6ba02b14db7b2db445f4324",
      "tree": "dea8d241b20f43b13b9b6232ff748482c30f6e91",
      "parents": [
        "b6eb0ea69d08024f156419f70a34fdc37c0c3adc"
      ],
      "author": {
        "name": "Shai Barack",
        "email": "shayba@google.com",
        "time": "Thu Sep 10 17:44:14 2020 -0700"
      },
      "committer": {
        "name": "Shai Barack",
        "email": "shayba@google.com",
        "time": "Fri Sep 11 22:35:30 2020 +0000"
      },
      "message": "[Wconversion] Suppress warnings\n\nBug: 56258\nBug: 58162\nChange-Id: I7edcf00edd9b999161182b7d93d4ce792fff1352\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/426034\nReviewed-by: Shai Barack \u003cshayba@google.com\u003e\nReviewed-by: Petr Hosek \u003cphosek@google.com\u003e\n"
    },
    {
      "commit": "b6eb0ea69d08024f156419f70a34fdc37c0c3adc",
      "tree": "1954f71d37601c0894408c273fa85c7f8e5fb852",
      "parents": [
        "b62f6d9033b893f1692a66ce929c01c2008470cd"
      ],
      "author": {
        "name": "Suraj Malhotra",
        "email": "surajmalhotra@google.com",
        "time": "Thu Jun 18 16:31:14 2020 -0700"
      },
      "committer": {
        "name": "Suraj Malhotra",
        "email": "surajmalhotra@google.com",
        "time": "Fri Jul 10 18:23:30 2020 +0000"
      },
      "message": "[alln][fdio] Move //zircon/system/ulib/fdio to //sdk/lib/fdio\n\nBug: 54057\nChange-Id: I8dd924c7a259378147ee44fe1f2d64b35c503349\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/405946\nReviewed-by: P.Y. Laligand \u003cpylaligand@google.com\u003e\n"
    },
    {
      "commit": "b62f6d9033b893f1692a66ce929c01c2008470cd",
      "tree": "17ea0b0eb5282a3b77c7e431b5dba9a82fabcaac",
      "parents": [
        "38aeada42e8f6abae2da84f87b90dab3710d8466"
      ],
      "author": {
        "name": "James Tucker",
        "email": "raggi@google.com",
        "time": "Fri Apr 24 12:21:59 2020 -0700"
      },
      "committer": {
        "name": "James Tucker",
        "email": "raggi@google.com",
        "time": "Mon Apr 27 19:05:07 2020 +0000"
      },
      "message": "[build] introduce a common target for core\n\nTo date we\u0027ve been building the world of binaries that roughly work\nand supplying them in core. This change introduces a \"common\" target\nthat is intended to be useful for exploration of the system, but not\nso \"full-featured\" as to encourage the writing of target side shell\nscripts. In addition, various commands are excluded from common that\nare otherwise already present a shell builtins, as the shell builtins\nare always availalbe, whereas most shell commands are ephemeral.\n\nBug: 50791\nChange-Id: I7302dd58b342f79123967a74393334526f769bb8\nReviewed-on: https://fuchsia-review.googlesource.com/c/third_party/sbase/+/383536\nReviewed-by: Adam Barth \u003cabarth@google.com\u003e\n"
    },
    {
      "commit": "38aeada42e8f6abae2da84f87b90dab3710d8466",
      "tree": "8c5d19221d57795ed6bc013e0afd83cd9ea2c35e",
      "parents": [
        "d503e6b46269b1bd8c1d897e4254021220c3104f"
      ],
      "author": {
        "name": "Yifei Teng",
        "email": "yifeit@google.com",
        "time": "Wed Jan 15 14:10:26 2020 -0800"
      },
      "committer": {
        "name": "Yifei Teng",
        "email": "yifeit@google.com",
        "time": "Sun Jan 26 23:19:10 2020 -0800"
      },
      "message": "[sbase] Fix buffer overflow in find.\n\nIt looks like the parse() function injects \"-print\"/\"-a\" arguments after\ntokenizing, without resizing the \"stack\" variable.\n\nTEST: running `find /bin` under asan does not crash.\nChange-Id: I9533d787a22dce20216c57ce946b2faf89889fd8\n"
    },
    {
      "commit": "d503e6b46269b1bd8c1d897e4254021220c3104f",
      "tree": "4e46f19200797e5b4785487c32b513c352263879",
      "parents": [
        "f893302f3aeb7c79fb6a5646420a32583e6d601e"
      ],
      "author": {
        "name": "James Tucker",
        "email": "raggi@google.com",
        "time": "Mon Mar 11 22:51:24 2019 -0700"
      },
      "committer": {
        "name": "James Tucker",
        "email": "raggi@google.com",
        "time": "Mon Mar 11 22:51:24 2019 -0700"
      },
      "message": "[sbase] remove deprecated, unused package\n\nChange-Id: If0a4aba8d47ed7f948cabd2a308ba9492e017fa2\n"
    },
    {
      "commit": "f893302f3aeb7c79fb6a5646420a32583e6d601e",
      "tree": "e4eea629c2701823db408085186ec5f40784718e",
      "parents": [
        "9441ded3f4ca8fac9178027857502676cbb237fb"
      ],
      "author": {
        "name": "James Tucker",
        "email": "raggi@google.com",
        "time": "Mon Feb 04 13:32:22 2019 -0800"
      },
      "committer": {
        "name": "James Tucker",
        "email": "raggi@google.com",
        "time": "Mon Feb 04 20:35:50 2019 -0800"
      },
      "message": "[packages] create a shell\u003dtrue package per binary\n\nThese will be used to make a soft transition to the removal of the\ndeprecated_system_image package that remains called \"sbase\".\n\nChange-Id: Ic720db8adc46ab3ed538ac24cdea47382c87f824\n"
    },
    {
      "commit": "9441ded3f4ca8fac9178027857502676cbb237fb",
      "tree": "f597438c961ed7bfe3fbc47c548701057ea80426",
      "parents": [
        "fb40e83359f8013d3082abb289031c5361a89ae7"
      ],
      "author": {
        "name": "Adam Perry",
        "email": "adamperry@google.com",
        "time": "Mon Jan 14 21:51:37 2019 -0800"
      },
      "committer": {
        "name": "Adam Perry",
        "email": "adamperry@google.com",
        "time": "Mon Jan 14 21:51:37 2019 -0800"
      },
      "message": "[sbase] Temporarily re-add sbase to system image.\n\nWhile all binaries are built with `shell \u003d true` on sbase/master,\nthis change hasn\u0027t rolled to the integration repo and everything\nis still using it from /system/bin. We can remove it from the\nsystem image once everything is migrated.\n\nChange-Id: Ic4981a82d19522714f71d47f6569d42799569857\n"
    },
    {
      "commit": "fb40e83359f8013d3082abb289031c5361a89ae7",
      "tree": "012da72cf9647d4abb74ac067238d4942fdcab20",
      "parents": [
        "5c3449aa41505fcd4a54b8fc94c14ec59605e1ce"
      ],
      "author": {
        "name": "James Tucker",
        "email": "raggi@google.com",
        "time": "Tue Nov 13 21:11:44 2018 -0800"
      },
      "committer": {
        "name": "James Tucker",
        "email": "raggi@google.com",
        "time": "Tue Nov 13 21:15:17 2018 -0800"
      },
      "message": "[sbase] all tools are now marked \"shell\"\n\nChange-Id: Ib9d5598880809cfa28393ea80233bca9b2b0b398\n"
    },
    {
      "commit": "5c3449aa41505fcd4a54b8fc94c14ec59605e1ce",
      "tree": "f4acc34db8663e2bb396188c5e43fd7e419f5db7",
      "parents": [
        "1a8d14e4550a2f45291f299d3e4124eef03feb76"
      ],
      "author": {
        "name": "Derek Gonyeo",
        "email": "dgonyeo@google.com",
        "time": "Wed Aug 15 11:40:13 2018 -0700"
      },
      "committer": {
        "name": "Derek Gonyeo",
        "email": "dgonyeo@google.com",
        "time": "Wed Aug 15 13:09:19 2018 -0700"
      },
      "message": "[sbase] Drop support for whoami\n\nRemove whoami from BUILD.gn and rules.mk and document the change in\nREADME. Since zircon lacks understanding of users, the utility isn\u0027t\nuseful.\n\nChange-Id: I60571668a32f9d28f97fe49b4c185048f469efb1\n"
    },
    {
      "commit": "1a8d14e4550a2f45291f299d3e4124eef03feb76",
      "tree": "60d661ce21564e99777577e56ec9b45d3a64e306",
      "parents": [
        "17a412d090ba9162db769bafbc8019909e91f510"
      ],
      "author": {
        "name": "Adam Barth",
        "email": "abarth@google.com",
        "time": "Wed Jun 13 08:52:32 2018 -0700"
      },
      "committer": {
        "name": "Adam Barth",
        "email": "abarth@google.com",
        "time": "Wed Jun 13 17:20:47 2018 +0000"
      },
      "message": "[fuchsia] Move to fdio_spawn\n\nWe\u0027re removing launchpad from the SDK.\n\nChange-Id: If007d3952ff02d65c0ee764300a6b04ec7ccba98\n"
    },
    {
      "commit": "17a412d090ba9162db769bafbc8019909e91f510",
      "tree": "cc3bcb7f04adf061d4d4c0bcf861b6d270d274b1",
      "parents": [
        "7266c10f60bcac8b7bd76a2ec3b904557fdf6d8a"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Tue May 15 20:58:01 2018 -0700"
      },
      "committer": {
        "name": "Petr Hosek",
        "email": "phosek@google.com",
        "time": "Wed May 16 09:13:43 2018 -0700"
      },
      "message": "Update README.fuchsia\n\nChange-Id: Iea0370b9086132a09bc24dd41ff9d249e51404be\n"
    },
    {
      "commit": "7266c10f60bcac8b7bd76a2ec3b904557fdf6d8a",
      "tree": "33af6c79c7c47e7b31b7b803667ff59444e06e2b",
      "parents": [
        "65e6e6592687767594450ef14cb934630bb46e4e"
      ],
      "author": {
        "name": "Damien Miller",
        "email": "djm@google.com",
        "time": "Wed Apr 04 17:35:25 2018 +1000"
      },
      "committer": {
        "name": "Damien Miller",
        "email": "djm@google.com",
        "time": "Sat Apr 14 01:09:55 2018 +0000"
      },
      "message": "Update README.fuchsia\n\nChange-Id: Icc24cdbdd5a84be9fef5fe5a26dc73999876cf27\n"
    },
    {
      "commit": "65e6e6592687767594450ef14cb934630bb46e4e",
      "tree": "c9a0687816a245baa5a479eadb1b4953fb65c849",
      "parents": [
        "8c63a02ac3c01c0383061c7c320f8944b2abd364"
      ],
      "author": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Tue Apr 10 16:10:11 2018 -0700"
      },
      "committer": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Tue Apr 10 16:10:11 2018 -0700"
      },
      "message": "[pkg] Use the new deprecated_system_package alias\n\nPKG-46\n\nChange-Id: I6fa54fe387836c72152ac15482eee8dbc4eae7c0\n"
    },
    {
      "commit": "8c63a02ac3c01c0383061c7c320f8944b2abd364",
      "tree": "8866f79bb49c4741e9bb7480b7304a475e4e46c2",
      "parents": [
        "e09df8a56be24a8d9d4a62a3bcfa031ba2ae7b1a"
      ],
      "author": {
        "name": "Sean Klein",
        "email": "smklein@google.com",
        "time": "Fri Feb 02 13:03:39 2018 -0800"
      },
      "committer": {
        "name": "Sean Klein",
        "email": "smklein@google.com",
        "time": "Fri Feb 02 13:03:40 2018 -0800"
      },
      "message": "[sbase] Link against fdio\n\nWithout fdio (which sbase relies on heavily) most utilities\ndon\u0027t function properly. As a simple example, \"printf\" doesn\u0027t\nwork for all utilities.\n\nDNO-194 #done\n\nChange-Id: I943b51d1141fb7d868e483923a4eb2c26b627e69\n"
    },
    {
      "commit": "e09df8a56be24a8d9d4a62a3bcfa031ba2ae7b1a",
      "tree": "7103e20356e7373311c00ead694525ffe33d9e00",
      "parents": [
        "757ca4fc704442b8c7edae7ad5f40d1b7fd75b9d"
      ],
      "author": {
        "name": "P.Y. Laligand",
        "email": "pylaligand@google.com",
        "time": "Wed Jan 17 09:56:46 2018 -0800"
      },
      "committer": {
        "name": "P.Y. Laligand",
        "email": "pylaligand@google.com",
        "time": "Wed Jan 17 09:57:01 2018 -0800"
      },
      "message": "launchpad is not part of the sysroot anymore.\n\nChange-Id: I4d4d2c651579fcb84eb55f7e466680400f5e319c\n"
    },
    {
      "commit": "757ca4fc704442b8c7edae7ad5f40d1b7fd75b9d",
      "tree": "7944e6bec512b5513055304c362577077b49f27d",
      "parents": [
        "4875e5ae67c26736666e5c40acad275e9a9ff75c"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 16 13:32:26 2018 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 16 13:33:13 2018 -0800"
      },
      "message": "BUILD.gn: don\u0027t build cron binary\n\nThe cron binary isn\u0027t used on Fuchsia and contains some libc calls we\nmay not want to support. Don\u0027t build it.\n\nChange-Id: I336231e97cb3253fb35a6e024165e61644ce7017\n"
    },
    {
      "commit": "4875e5ae67c26736666e5c40acad275e9a9ff75c",
      "tree": "e17dfdcf96f1fe4a960b529f900371610a76bdb7",
      "parents": [
        "2dcb707790f1594f970d64d67d6c99aeefa4edae"
      ],
      "author": {
        "name": "Carlos Pizano",
        "email": "cpu@chromium.org",
        "time": "Fri Nov 24 20:05:00 2017 -0800"
      },
      "committer": {
        "name": "Carlos Pizano",
        "email": "cpu@google.com",
        "time": "Sat Nov 25 18:30:23 2017 +0000"
      },
      "message": "[3rdparty][sbase] Make clear what is implemented\n\nThe readme confuses people to think we support\nthings like nice and chmod.\n\nChange-Id: I9690d138a87e78d8762fbf0d6ad79c4ec57de02f\n"
    },
    {
      "commit": "2dcb707790f1594f970d64d67d6c99aeefa4edae",
      "tree": "7345cdf4c215c8b8a5bb6870c4fc73213dfe04c4",
      "parents": [
        "57a2624edcf36456451db5734efb5b79556aacc7"
      ],
      "author": {
        "name": "P.Y. Laligand",
        "email": "pylaligand@google.com",
        "time": "Wed Nov 22 17:08:10 2017 -0800"
      },
      "committer": {
        "name": "P.Y. Laligand",
        "email": "pylaligand@google.com",
        "time": "Wed Nov 22 17:08:10 2017 -0800"
      },
      "message": "Update path to package template\n\nChange-Id: Iee8359d483d3cdf98a6f1f821384330bf2c445e8\n"
    },
    {
      "commit": "57a2624edcf36456451db5734efb5b79556aacc7",
      "tree": "11ec98c2e072ea84a6b110481a408206a3f757e6",
      "parents": [
        "51d2fcf0b389a955718fb0e3c918388161c4e092"
      ],
      "author": {
        "name": "Adam Barth",
        "email": "abarth@google.com",
        "time": "Thu Nov 02 09:57:59 2017 -0700"
      },
      "committer": {
        "name": "Adam Barth",
        "email": "abarth@google.com",
        "time": "Thu Nov 02 09:57:59 2017 -0700"
      },
      "message": "[build] Add system_image property to package()\n\nChange-Id: Idfeda124a81b76f2437d1569a9adc491eb0598f7\n"
    },
    {
      "commit": "51d2fcf0b389a955718fb0e3c918388161c4e092",
      "tree": "91201b878f993d9a1dd6f6bac5337760ed45154e",
      "parents": [
        "bac524d88053a8a9b56e095f57271e9ae026f90a"
      ],
      "author": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Fri Oct 20 14:41:06 2017 -0700"
      },
      "committer": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Fri Oct 20 14:41:06 2017 -0700"
      },
      "message": "[gn] Format all BUILD.gn files\n\nChange-Id: Ib4ae46ba0f80c6dd96bb6d163aef30a1fdf82bd8\n"
    },
    {
      "commit": "bac524d88053a8a9b56e095f57271e9ae026f90a",
      "tree": "1a0d94e8a5b4d9a59995b1eb772f2db52ed3fb21",
      "parents": [
        "2eeb5c37fb8d678826237d03e0aac8f32aa91c1c"
      ],
      "author": {
        "name": "Mike Voydanoff",
        "email": "voydanoff@google.com",
        "time": "Wed Oct 18 10:27:14 2017 -0700"
      },
      "committer": {
        "name": "Mike Voydanoff",
        "email": "voydanoff@google.com",
        "time": "Wed Oct 18 10:27:53 2017 -0700"
      },
      "message": "[build] Fix building within zircon\n\nChange-Id: I56bfd98c6039c861223f77829e8e635bbad31a44\n"
    },
    {
      "commit": "2eeb5c37fb8d678826237d03e0aac8f32aa91c1c",
      "tree": "1ef88eb3e72ecbe1c651a6b1c03b1d97e74bc5df",
      "parents": [
        "18ea2edb45c82e75e25024fd3854c6db38a2548e"
      ],
      "author": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Fri Oct 13 13:33:11 2017 -0700"
      },
      "committer": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Fri Oct 13 13:45:51 2017 -0700"
      },
      "message": "Don\u0027t call daemon() in cron on Fuchsia\n\nChange-Id: If7a9fb468f48613e634295641a8eff097c483c5d\n"
    },
    {
      "commit": "18ea2edb45c82e75e25024fd3854c6db38a2548e",
      "tree": "abc6193a290dc0665752d7093e0e880656f2d4ad",
      "parents": [
        "f735cf9b4a5a961bf66f7140af1ecd70a43beaac"
      ],
      "author": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Thu Sep 14 15:11:08 2017 -0700"
      },
      "committer": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Thu Sep 14 15:11:08 2017 -0700"
      },
      "message": "Rename Magenta to Zircon\n\nChange-Id: I1a7bdfc862c14f5caee66339948ba6ba9bf868db\n"
    },
    {
      "commit": "f735cf9b4a5a961bf66f7140af1ecd70a43beaac",
      "tree": "733a866b76daaeb1e40d7c3249a92029349aa972",
      "parents": [
        "aa0b3cafd57d08a64dfbb65485419a78a3645d8f"
      ],
      "author": {
        "name": "Jim Beveridge",
        "email": "jimbe@chromium.org",
        "time": "Tue Jul 11 15:13:40 2017 -0700"
      },
      "committer": {
        "name": "Jim Beveridge",
        "email": "jimbe@chromium.org",
        "time": "Tue Jul 11 16:04:46 2017 -0700"
      },
      "message": "[tar] Fix support for pipes in Fuchsia\n\n- I broke skipblk() when I added support for lseek(). Seeking does not\nwork on pipes and it\u0027s necessary to fall back to sequential reads.\n- Pipes will sometimes return short reads. This is legal but unusual.\nI updated unarchive() to cleanly handle this condition.\n- Also fixed directory creation, which wasn\u0027t setting the mode because\nof a premature call to mkdirp().\n\nChange-Id: I72e77dd35a1a95afce3c1ef8241cf8f66d320a7d\n"
    },
    {
      "commit": "aa0b3cafd57d08a64dfbb65485419a78a3645d8f",
      "tree": "d55e5476dc531419053098694b77626497fd51d6",
      "parents": [
        "2a2d692b64212ae8b3c7ab1e5e02801ca49fa709"
      ],
      "author": {
        "name": "Jim Beveridge",
        "email": "jimbe@chromium.org",
        "time": "Mon Jul 10 17:36:31 2017 -0700"
      },
      "committer": {
        "name": "Jim Beveridge",
        "email": "jimbe@chromium.org",
        "time": "Tue Jul 11 09:53:27 2017 -0700"
      },
      "message": "[tar] Improve performance of -c/-x/-t.\n\n* Fixes performance of -c and -x by increasing the buffer size\nfrom 512 bytes to 8192 bytes.\n* Fixes performance of -t by using lseek instead of reading the data.\n* Prevents incorrect error message when trying to remove a directory\nthat contains files.\n* Filed related bugs US-291, US-293 and US-294.\n\nUS-295 #done\n\nChange-Id: Id971750fa6bd6d45c27bef65b72986eb20d3db70\n"
    },
    {
      "commit": "2a2d692b64212ae8b3c7ab1e5e02801ca49fa709",
      "tree": "30509b6e55908691585b0f124ad16dc0f2ded865",
      "parents": [
        "c214ce0d8f1c28a41e7ab9732b61edbb373ce6cb"
      ],
      "author": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Tue Jun 13 13:36:51 2017 -0700"
      },
      "committer": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Tue Jun 13 13:36:51 2017 -0700"
      },
      "message": "Use MX_OK instead of NO_ERROR\n\nChange-Id: I0f3cb6cb35031786db93b5c9a8d66523a07e8899\n"
    },
    {
      "commit": "c214ce0d8f1c28a41e7ab9732b61edbb373ce6cb",
      "tree": "e3b8dd34b851d57faf801730c8abe8c821fc7066",
      "parents": [
        "e6ef6ddd35edac6decd4bdbd524e97cb1753bba0"
      ],
      "author": {
        "name": "James Robinson",
        "email": "jamesr@google.com",
        "time": "Tue Jun 06 14:07:20 2017 -0700"
      },
      "committer": {
        "name": "James Robinson",
        "email": "jamesr@google.com",
        "time": "Tue Jun 06 14:07:21 2017 -0700"
      },
      "message": "Add package config for sbase\n\nThis should be split into a bunch of small packages for each program, but\ntreating it all as one makes the initial transition simpler.\n\nChange-Id: I6c15dbb4b52e5b0d486e724fccaf74138095636f\n"
    },
    {
      "commit": "e6ef6ddd35edac6decd4bdbd524e97cb1753bba0",
      "tree": "12da3e35c96bbb197731c5c76a972f2ae936faaa",
      "parents": [
        "c1e80dd4435d4f66dcd9d7a933cda89db64de0d5"
      ],
      "author": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Tue May 16 14:44:32 2017 -0700"
      },
      "committer": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Tue May 16 14:44:53 2017 -0700"
      },
      "message": "Fix magenta rules.mk files\n\nChange-Id: If0ea262cd4ed5dbf49dd88ec1d3aa12904bb68e2\n"
    },
    {
      "commit": "c1e80dd4435d4f66dcd9d7a933cda89db64de0d5",
      "tree": "be997d737f3b936dbd41599f3c50835a8eaf593d",
      "parents": [
        "d36683e39314f496433fb2e426b8a88ec087af64"
      ],
      "author": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Wed Mar 29 11:21:59 2017 -0700"
      },
      "committer": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Wed Mar 29 11:30:31 2017 -0700"
      },
      "message": "Teach sbase itself about major and minor device numbers\n\nChange-Id: Ibc58388f823017a0e5412492034b4b095314847e\n"
    },
    {
      "commit": "d36683e39314f496433fb2e426b8a88ec087af64",
      "tree": "f11b7283b7f4e4e90054bd02615149b031286a66",
      "parents": [
        "1a26cb521e7fd84cb8c7d24e07d4f6c6b2fad346"
      ],
      "author": {
        "name": "Adam Barth",
        "email": "abarth@chromium.org",
        "time": "Sat Mar 18 11:25:58 2017 -0700"
      },
      "committer": {
        "name": "Adam Barth",
        "email": "abarth@chromium.org",
        "time": "Sat Mar 18 11:25:58 2017 -0700"
      },
      "message": "Fix link error\n\nChange-Id: Ia2b3057cdf452c11c5e7405fae66db18a3a7b396\n"
    },
    {
      "commit": "1a26cb521e7fd84cb8c7d24e07d4f6c6b2fad346",
      "tree": "1ec71414c73df8908ce79dd97743cd62d4d1da87",
      "parents": [
        "e05802e4be7b97b33698ff31b09bdcaefa266ec1"
      ],
      "author": {
        "name": "Adam Barth",
        "email": "abarth@chromium.org",
        "time": "Fri Mar 17 22:59:08 2017 -0700"
      },
      "committer": {
        "name": "Adam Barth",
        "email": "abarth@chromium.org",
        "time": "Fri Mar 17 22:59:08 2017 -0700"
      },
      "message": "Fix unused function warning\n\nChange-Id: I5a0f9d78cf324c98d6be65c535832441d689ab3c\n"
    },
    {
      "commit": "e05802e4be7b97b33698ff31b09bdcaefa266ec1",
      "tree": "d87896e4edb7e3c9b1920eb94820ae75aa1f00de",
      "parents": [
        "14393214a50e4b7a24820bdf5629579597d1dbe7"
      ],
      "author": {
        "name": "Adam Barth",
        "email": "abarth@chromium.org",
        "time": "Fri Mar 17 21:36:38 2017 -0700"
      },
      "committer": {
        "name": "Adam Barth",
        "email": "abarth@chromium.org",
        "time": "Fri Mar 17 21:41:12 2017 -0700"
      },
      "message": "Disable tools that don\u0027t work reasonably\n\nThis matches the Magenta configuration.\n\nChange-Id: Iec134766a40108ab930bb5f37cac46224eed4dd5\n"
    },
    {
      "commit": "14393214a50e4b7a24820bdf5629579597d1dbe7",
      "tree": "3aca794202403e7acf1f32423368cd2143ffdb87",
      "parents": [
        "a62452456c923a64bc3b1b4171718eb6418ca00c"
      ],
      "author": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Fri Mar 17 21:27:07 2017 -0700"
      },
      "committer": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Fri Mar 17 21:37:03 2017 -0700"
      },
      "message": "[xargs] basic process launch working on Fuchsia\n\nIt\u0027s not honoring $PATH yet (we should add a feature to\nlaunchpad for that), but it does successfully do the\nxargs thing.\n\nChange-Id: I050e363155661c4db979c192871f579046398812\n"
    },
    {
      "commit": "a62452456c923a64bc3b1b4171718eb6418ca00c",
      "tree": "07546eff21718f9e25e4fa8b559d865f5cccf296",
      "parents": [
        "3a9060d47883eff84ee4f4eb51b9078f720f57c2"
      ],
      "author": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Fri Mar 17 20:07:15 2017 -0700"
      },
      "committer": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Fri Mar 17 20:39:20 2017 -0700"
      },
      "message": "[find] disable loop detection\n\nWe don\u0027t have unique inodes and device numbers so loop detection\nis broken, but since we don\u0027t have symlinks we can simply disable\nit for now.\n\nChange-Id: Ice1f735ec46aa60a7747b1786ecfd799d52857c8\n"
    },
    {
      "commit": "3a9060d47883eff84ee4f4eb51b9078f720f57c2",
      "tree": "be77e8d06e55b71d1d06bbf2122d97e48e3d6446",
      "parents": [
        "dd1707db0a38ccf77e14ef97d42b8cde4ac3ff32"
      ],
      "author": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Fri Mar 17 19:33:07 2017 -0700"
      },
      "committer": {
        "name": "Brian Swetland",
        "email": "swetland@google.com",
        "time": "Fri Mar 17 20:39:15 2017 -0700"
      },
      "message": "[build] support building in Magenta\n\n1. check this repository out under third_party/uapp in magenta\n2. build Magenta as usual\n\nChange-Id: Iec63e9d3cd1428b1e72533db5df2085f74e664fc\n"
    },
    {
      "commit": "dd1707db0a38ccf77e14ef97d42b8cde4ac3ff32",
      "tree": "c4619097e8a2a07a68b98bfbf9ba5fe780071855",
      "parents": [
        "2c2f580b39806c5b80b8a0393d22fd4677bb9e09"
      ],
      "author": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Fri Mar 17 16:45:48 2017 -0700"
      },
      "committer": {
        "name": "George Kulakowski",
        "email": "kulakowski@google.com",
        "time": "Fri Mar 17 16:45:48 2017 -0700"
      },
      "message": "Handle char signedness differences on ARM\n\nChange-Id: I0507da5a1cb9f5c49664b1eabccc607c077663d3\n"
    },
    {
      "commit": "2c2f580b39806c5b80b8a0393d22fd4677bb9e09",
      "tree": "50dba74500f49e42e68ba979f16ada1f74c85533",
      "parents": [
        "38f8154899a3d25450761485e6a35dc63837a4e3"
      ],
      "author": {
        "name": "Adam Barth",
        "email": "abarth@chromium.org",
        "time": "Fri Mar 17 15:36:43 2017 -0700"
      },
      "committer": {
        "name": "Adam Barth",
        "email": "abarth@chromium.org",
        "time": "Fri Mar 17 15:36:43 2017 -0700"
      },
      "message": "Don\u0027t build time and uname\n\nWe already have these utilities in cmdutils.\n\nChange-Id: I04e86ed0e6f6394d01e317c03ab27044962c61ef\n"
    },
    {
      "commit": "38f8154899a3d25450761485e6a35dc63837a4e3",
      "tree": "71689be6cec93173db9c1b30b1db7785300184dc",
      "parents": [
        "30fd43d7f3b8716054eb9867c835aadc423f652c"
      ],
      "author": {
        "name": "Adam Barth",
        "email": "abarth@chromium.org",
        "time": "Fri Mar 17 15:09:43 2017 -0700"
      },
      "committer": {
        "name": "Adam Barth",
        "email": "abarth@chromium.org",
        "time": "Fri Mar 17 15:16:54 2017 -0700"
      },
      "message": "Add BUILD.gn and README.fuchsia\n\nChange-Id: I7ffcdc8f87867b5dcc5fdca09237871cfc8126fd\n"
    },
    {
      "commit": "30fd43d7f3b8716054eb9867c835aadc423f652c",
      "tree": "aa6361c6fc0a05d12299854a24bed9993489898a",
      "parents": [
        "9a903c63dee0735369e41bbb9b3befc6b18b1248"
      ],
      "author": {
        "name": "Mattias Andrée",
        "email": "maandree@kth.se",
        "time": "Sun Feb 05 00:44:35 2017 +0100"
      },
      "committer": {
        "name": "Evan Gates",
        "email": "evan.gates@gmail.com",
        "time": "Mon Feb 06 15:47:01 2017 -0800"
      },
      "message": "libutil/unescape.c: simplify and add \\E\n\nSigned-off-by: Mattias Andrée \u003cmaandree@kth.se\u003e\n"
    },
    {
      "commit": "9a903c63dee0735369e41bbb9b3befc6b18b1248",
      "tree": "cae83b083374197a07e2f6d35c6bfb4899fb2104",
      "parents": [
        "2c424c078a4b4c8782efcc3d619372a9639bbecf"
      ],
      "author": {
        "name": "Mattias Andrée",
        "email": "maandree@kth.se",
        "time": "Sat Feb 04 22:15:13 2017 +0100"
      },
      "committer": {
        "name": "Evan Gates",
        "email": "evan.gates@gmail.com",
        "time": "Mon Feb 06 14:13:40 2017 -0800"
      },
      "message": "libutil/unescape.c: only print argv0 once on error\n\nSigned-off-by: Mattias Andrée \u003cmaandree@kth.se\u003e\n"
    },
    {
      "commit": "2c424c078a4b4c8782efcc3d619372a9639bbecf",
      "tree": "a26fe23f2018a0fa58c9c2c6dc3e440d8513f10b",
      "parents": [
        "d301322cf28d94b8a90afe747dde9b1e0f1a3821"
      ],
      "author": {
        "name": "Mattias Andrée",
        "email": "maandree@kth.se",
        "time": "Sun Jan 29 22:17:09 2017 +0100"
      },
      "committer": {
        "name": "Evan Gates",
        "email": "evan.gates@gmail.com",
        "time": "Tue Jan 31 10:32:30 2017 -0800"
      },
      "message": "cp.1: source and dest are not optional\n\nSigned-off-by: Mattias Andrée \u003cmaandree@kth.se\u003e\n"
    },
    {
      "commit": "d301322cf28d94b8a90afe747dde9b1e0f1a3821",
      "tree": "3add1143b8bf20c3729f09e616ec93eef6b02e8a",
      "parents": [
        "9ab1478f1eb6a9a355d394af3c0cfa69850245fe"
      ],
      "author": {
        "name": "Mattias Andrée",
        "email": "maandree@kth.se",
        "time": "Fri Jan 27 00:41:50 2017 +0100"
      },
      "committer": {
        "name": "Evan Gates",
        "email": "evan.gates@gmail.com",
        "time": "Tue Jan 31 10:27:59 2017 -0800"
      },
      "message": "getconf: fail if any other flag than -v is used\n\nSigned-off-by: Mattias Andrée \u003cmaandree@kth.se\u003e\n"
    },
    {
      "commit": "9ab1478f1eb6a9a355d394af3c0cfa69850245fe",
      "tree": "5f9ead3544c8f3cd816cbda691ceda66da47ebbf",
      "parents": [
        "b95c8ed79e5d5322dd3c5c386c3acd62105ac116"
      ],
      "author": {
        "name": "Roberto E. Vargas Caballero",
        "email": "k0ga@shike2.com",
        "time": "Tue Jan 10 11:28:58 2017 +0100"
      },
      "committer": {
        "name": "Roberto E. Vargas Caballero",
        "email": "k0ga@shike2.com",
        "time": "Tue Jan 10 11:30:34 2017 +0100"
      },
      "message": "ed: fix commit 2ccc1e8\n\nThe patch was wrong because the prototype of\nstrcpy is different to the prototype of strlcpy\n"
    },
    {
      "commit": "b95c8ed79e5d5322dd3c5c386c3acd62105ac116",
      "tree": "899748ca8ce11402fc47c8f2ab7affebd6960539",
      "parents": [
        "78bfd8978ea2af10dadc3fdadd19710068a632c4"
      ],
      "author": {
        "name": "Roberto E. Vargas Caballero",
        "email": "roberto.vargas@igrid-td.com",
        "time": "Tue Jan 10 08:46:48 2017 +0100"
      },
      "committer": {
        "name": "Roberto E. Vargas Caballero",
        "email": "roberto.vargas@igrid-td.com",
        "time": "Tue Jan 10 08:49:17 2017 +0100"
      },
      "message": "ed: Don\u0027t use strlcpy()\n\nAll the buffers related to files have FILENAME_MAX size, so it is impossible\nto have any buffer overrun.\n"
    },
    {
      "commit": "78bfd8978ea2af10dadc3fdadd19710068a632c4",
      "tree": "4fafb96aa2c2567d95999f5c9f0f6b0dc14575ff",
      "parents": [
        "89f5f8431678640cc566b760ad9bf91e9994e48f"
      ],
      "author": {
        "name": "Roberto E. Vargas Caballero",
        "email": "roberto.vargas@igrid-td.com",
        "time": "Tue Jan 10 08:41:35 2017 +0100"
      },
      "committer": {
        "name": "Roberto E. Vargas Caballero",
        "email": "roberto.vargas@igrid-td.com",
        "time": "Tue Jan 10 08:41:35 2017 +0100"
      },
      "message": "Revert \"ed: remove double free in join()\"\n\nThis reverts commit 30da327fbd27eee508c5492a763ea19d7cd9e281.\nThe double free is needed to avoid memory leaks when signals are caught\n"
    },
    {
      "commit": "89f5f8431678640cc566b760ad9bf91e9994e48f",
      "tree": "7fba954ddc9953f76fe3d31531ee84737b5af163",
      "parents": [
        "441f73a518f0fead0a541195a50a7dd71db4fcfe"
      ],
      "author": {
        "name": "Thomas Mannay",
        "email": "audiobarrier@openmailbox.org",
        "time": "Thu Nov 03 15:19:35 2016 +0000"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Mon Jan 02 20:57:00 2017 +0100"
      },
      "message": "ed: Treat addresses of 0 as 1 for insert\n\nFrom 6665eaa1d2c25a95b44a4f4fb3d24a3bd5c1180f Mon Sep 17 00:00:00 2001\nFrom: Thomas Mannay \u003caudiobarrier@openmailbox.org\u003e\nDate: Thu, 3 Nov 2016 15:16:32 +0000\nSubject: [PATCH] Treat addresses of 0 as 1 for insert\n"
    },
    {
      "commit": "441f73a518f0fead0a541195a50a7dd71db4fcfe",
      "tree": "272582fd107b96012781c6f87d1cec42e46de383",
      "parents": [
        "60da4fb049eb1168331d0754e34519af3627a2e8"
      ],
      "author": {
        "name": "Quentin Rameau",
        "email": "quinq@fifth.space",
        "time": "Thu Oct 06 11:16:32 2016 +0200"
      },
      "committer": {
        "name": "Evan Gates",
        "email": "evan.gates@gmail.com",
        "time": "Wed Dec 28 12:23:03 2016 -0800"
      },
      "message": "ls: print filenames on the fly rather than in a buffer\n"
    },
    {
      "commit": "60da4fb049eb1168331d0754e34519af3627a2e8",
      "tree": "2c159ba397c0b675323277f7954989aa9c7c49e4",
      "parents": [
        "24810426519a002749016cbb04e6c21cd2d890cb"
      ],
      "author": {
        "name": "Robert Karl",
        "email": "robertkarljr@gmail.com",
        "time": "Mon Dec 26 16:22:36 2016 -0800"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 15:02:15 2016 +0100"
      },
      "message": "paste: fix warning on indentation in parallel()\n\n_Bug_\nGot the following error after cloning and running make:\n\npaste.c: In function ‘parallel’:\npaste.c:70:4: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]\n    else\n    ^~~~\npaste.c:72:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’\n     last++;\n     ^~~~\nThis patch preserves the same functionality and just adjusts indentation to squelch the warning.\n\n_Test plan_\nUsed the following \u0027script\u0027 to convince myself output looked correct for inputs\nwhere the latter arguments to paste had fewer lines.\n\n\tmake \u0026\u0026 printf \"1\\n2\\n\" \u003e two.txt \u0026\u0026 printf \"\" \u003e zero.txt \u0026\u0026 ./paste -d, two.txt zero.txt\n"
    },
    {
      "commit": "24810426519a002749016cbb04e6c21cd2d890cb",
      "tree": "a4fbf5d9779e4710df6904602cb93390d516f5b7",
      "parents": [
        "e03a57df92f92a4388f7b78bcf3ce4bb46f39e66"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Tue Dec 27 14:49:57 2016 +0100"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 14:50:58 2016 +0100"
      },
      "message": "cp: Also preserve atime/mtime for symlinks\n\nLaslo: Fixed style a bit and added comment\n"
    },
    {
      "commit": "e03a57df92f92a4388f7b78bcf3ce4bb46f39e66",
      "tree": "31787ead91ab01cb5ce25d4906e0eccd3454b8e8",
      "parents": [
        "a8a9b3bae9b021c328db27f426dcaf90e01ca030"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Tue Dec 06 02:17:01 2016 -0800"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 14:46:11 2016 +0100"
      },
      "message": "cp: Check result of utimensat\n\nPOSIX says that if duplicating the modification/access times fails, then\nan error should be written to stderr.\n"
    },
    {
      "commit": "a8a9b3bae9b021c328db27f426dcaf90e01ca030",
      "tree": "92e18e50a1c36ddf0636ca50954764c0397fdb5e",
      "parents": [
        "5e4e6aeb3ee843f1fb1bc3de1c2e682f20c61625"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Tue Dec 06 02:16:57 2016 -0800"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 14:37:20 2016 +0100"
      },
      "message": "xinstall: Check result of fchmod\n"
    },
    {
      "commit": "5e4e6aeb3ee843f1fb1bc3de1c2e682f20c61625",
      "tree": "88f842f05f612c8fc19aa4a2ed7a1ab9c188605a",
      "parents": [
        "9e594a986eef7e589724f2f18a81e05c47cf70de"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Tue Dec 06 02:16:54 2016 -0800"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 14:32:04 2016 +0100"
      },
      "message": "od: Fix buffer overflow if -N flag is larger than BUFSIZ\n\nPreviously, if max was specified, od will call read with that size,\npotentially overflowing buf with data read from the file.\n"
    },
    {
      "commit": "9e594a986eef7e589724f2f18a81e05c47cf70de",
      "tree": "7bce97d38729b4cc0d1dce64d5f5229287d81260",
      "parents": [
        "52e49329e5c9a97f8bafceace6429e073a691b2e"
      ],
      "author": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 14:30:51 2016 +0100"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 14:30:51 2016 +0100"
      },
      "message": "Add a TODO-note about crypt.c\n"
    },
    {
      "commit": "52e49329e5c9a97f8bafceace6429e073a691b2e",
      "tree": "874fadfd07b6f5836befdbafc323b9b01b1f7947",
      "parents": [
        "609169d60053ae94751187378303926d21f29148"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Tue Dec 06 02:16:53 2016 -0800"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 14:02:32 2016 +0100"
      },
      "message": "crypt: Add some missing error checks for cryptsum\n\nPreviously, if a file failed to read in a checksum list, it would be\nreported as not matched rather than a read failure.\n\nAlso, if reading from stdin failed, previously a bogus checksum would be\nprinted anyway.\n"
    },
    {
      "commit": "609169d60053ae94751187378303926d21f29148",
      "tree": "66500c5020cfb9daf7ab109b8c98a4ddcfaf8267",
      "parents": [
        "b7fb3a58e7ec12987706fd52f5361a944ddc1da8"
      ],
      "author": {
        "name": "Mattias Andrée",
        "email": "maandree@kth.se",
        "time": "Sat Dec 03 12:51:14 2016 +0100"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 13:56:27 2016 +0100"
      },
      "message": "install: ignore -s\n\nThe -s flag previously called strip(1) on the installed file.\nThis patch changes install(1)\u0027s behaviour to ignore -s.\n\nMany makefiles use the -s flag, so it has to be recognised for\ncompatibility, however it does not have to do anything because\nsymbols do not negatively affect the functionallity of binaries.\n\nIgnoring -s have the added benefit that the user do not need\nto edit makefiles if they want the symbols that are useful for\ndebugging. If the user wants to strip away symbols, it can be\ndone manually or automatically by the package manager.\n\nLaslo: Update the man-date and remove -s from usage()\n\nSigned-off-by: Mattias Andrée \u003cmaandree@kth.se\u003e\n"
    },
    {
      "commit": "b7fb3a58e7ec12987706fd52f5361a944ddc1da8",
      "tree": "6b4e7faabf5a61108d30a72254764ef0f5562db5",
      "parents": [
        "87f40834a329f4f526fd17b1be36c75da0323573"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Tue Dec 27 13:48:31 2016 +0100"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 13:48:59 2016 +0100"
      },
      "message": "xinstall: Fix broken memmove with -t\n\nmemmove moves a number of bytes, not pointers, so if you passed a number\nof arguments that is larger than the pointer byte size, you could\nend up crashing or skipping the install of a file and installing another\ntwice.\n\nAlso, argv was never decreased to match the moved arguments, so the -t\nparameter was added in the NULL argv slot.\n"
    },
    {
      "commit": "87f40834a329f4f526fd17b1be36c75da0323573",
      "tree": "defe9217615baabb29fece5429771c88908bc277",
      "parents": [
        "aded9028919a819407ec633473d320e689f2fdb9"
      ],
      "author": {
        "name": "Michael Forney",
        "email": "mforney@mforney.org",
        "time": "Wed Nov 30 23:27:59 2016 -0800"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 13:33:35 2016 +0100"
      },
      "message": "parsemode: No need to return after eprintf\n\nAlso, since parsemode exits on failure, don\u0027t bother checking return\nvalue in xinstall (this would never trigger anyway because mode_t can be\nunsigned).\n"
    },
    {
      "commit": "aded9028919a819407ec633473d320e689f2fdb9",
      "tree": "11068edbc939a4dc098aa7d1017c6a6ccc31bf99",
      "parents": [
        "123f784ccc9138ce09176cdc2d3eae23af454941"
      ],
      "author": {
        "name": "parazyd",
        "email": "parazyd@dyne.org",
        "time": "Tue Dec 27 13:29:15 2016 +0100"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 13:30:08 2016 +0100"
      },
      "message": "remove install.1 on make uninstall\n\nJust a minor fix since xinstall.1 is installed as install.1.\n"
    },
    {
      "commit": "123f784ccc9138ce09176cdc2d3eae23af454941",
      "tree": "f2da432ea602efc61d5d7f32f4ac2a98e17a065c",
      "parents": [
        "d6154bd87fd04616852a286c7fd09efb4cdbfa85"
      ],
      "author": {
        "name": "Evan Gates",
        "email": "evan.gates@gmail.com",
        "time": "Mon Oct 24 08:16:25 2016 -0700"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 13:25:38 2016 +0100"
      },
      "message": "printf: handle \\0 in %b arguments\n\nThe %b case was using fputs after unescape to print the argument, which\nmeant that it could not handle nul bytes. Instead, store the length\nreturned from unescape and use fwrite to properly handle them.\n"
    },
    {
      "commit": "d6154bd87fd04616852a286c7fd09efb4cdbfa85",
      "tree": "b8f7a1ab31d40ca73084fb75bea6c983881dab9c",
      "parents": [
        "4b5a948ceedf7c9ae7f814c5444cb8caf32d307c"
      ],
      "author": {
        "name": "Evan Gates",
        "email": "evan.gates@gmail.com",
        "time": "Thu Oct 20 09:06:18 2016 -0700"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 13:16:53 2016 +0100"
      },
      "message": "Makefile: sort file lists\n"
    },
    {
      "commit": "4b5a948ceedf7c9ae7f814c5444cb8caf32d307c",
      "tree": "ea49c7dc3de6be12b76f320ad535d7d9d41040ab",
      "parents": [
        "e2f886c7e225a38113d3b332a106d176721fa5c3"
      ],
      "author": {
        "name": "Evan Gates",
        "email": "evan.gates@gmail.com",
        "time": "Wed Oct 19 11:04:48 2016 -0700"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 13:15:10 2016 +0100"
      },
      "message": "targets must be prerequisites to .PHONY not commands\n"
    },
    {
      "commit": "e2f886c7e225a38113d3b332a106d176721fa5c3",
      "tree": "f585169e54f88ef83a04cafc96399baf06a2d252",
      "parents": [
        "370e0ae67595f24bf3bcb4fab7e99655325f14ad"
      ],
      "author": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 13:07:02 2016 +0100"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 13:07:02 2016 +0100"
      },
      "message": "ed: Use strlcpy() instead of strcpy() and other minor things\n\nBased on contribution by Ali H. Fardan, thanks!\n"
    },
    {
      "commit": "370e0ae67595f24bf3bcb4fab7e99655325f14ad",
      "tree": "b887b4cd4dd097f2428d5c6a05345e4d4fc47105",
      "parents": [
        "30da327fbd27eee508c5492a763ea19d7cd9e281"
      ],
      "author": {
        "name": "Thomas Mannay",
        "email": "audiobarrier@openmailbox.org",
        "time": "Sun Oct 09 23:14:54 2016 +0000"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 12:53:30 2016 +0100"
      },
      "message": "ed: add manpage\n\nLaslo: Fix some things pointed out by mandoc -Tlint:\n\t1) replace empty lines with .Pp, we want to start a new\n\t   paragraph\n\t2) Add a comma before the second item in SEE ALSO\n\t3) Place SEE ALSO before STANDARDS, as is the convention\n\t4) Update the man-date\n"
    },
    {
      "commit": "30da327fbd27eee508c5492a763ea19d7cd9e281",
      "tree": "01ae972fea1095c6806dc9e6ad1359d7982b0538",
      "parents": [
        "2304df908c2f0741fb72c6d03e1f45fffdf69649"
      ],
      "author": {
        "name": "Thomas Mannay",
        "email": "audiobarrier@openmailbox.org",
        "time": "Sun Oct 09 23:13:13 2016 +0000"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 12:50:25 2016 +0100"
      },
      "message": "ed: remove double free in join()\n"
    },
    {
      "commit": "2304df908c2f0741fb72c6d03e1f45fffdf69649",
      "tree": "ae2b58f8571d0b098b4a555be9bde80e7770bb80",
      "parents": [
        "696520714b185ad111b33232dc2d94c281729832"
      ],
      "author": {
        "name": "Thomas Mannay",
        "email": "audiobarrier@openmailbox.org",
        "time": "Sun Oct 09 23:12:46 2016 +0000"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 12:50:20 2016 +0100"
      },
      "message": "ed: place newly joined lines correctly\n"
    },
    {
      "commit": "696520714b185ad111b33232dc2d94c281729832",
      "tree": "0a1ac038dc870f216dc52ab76afe5bd4385e3db4",
      "parents": [
        "61e06396bdea2352b602a46a2ff7fcd627d073cb"
      ],
      "author": {
        "name": "Thomas Mannay",
        "email": "audiobarrier@openmailbox.org",
        "time": "Sun Oct 09 23:11:01 2016 +0000"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 12:50:09 2016 +0100"
      },
      "message": "ed: giving j only one address does nothing\n"
    },
    {
      "commit": "61e06396bdea2352b602a46a2ff7fcd627d073cb",
      "tree": "9c7f2c7bdf677a96006d4ef8e8c6fc517fd095a8",
      "parents": [
        "d2bd40a5890dbedef265228701cc42ac96219262"
      ],
      "author": {
        "name": "Thomas Mannay",
        "email": "audiobarrier@openmailbox.org",
        "time": "Sun Oct 09 23:10:20 2016 +0000"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 12:50:03 2016 +0100"
      },
      "message": "ed: remove infinite loops in join() and getindex()\n"
    },
    {
      "commit": "d2bd40a5890dbedef265228701cc42ac96219262",
      "tree": "a4587c4602c9d9367afd859b26a0ecde554a94e9",
      "parents": [
        "0b27c0c9a08ac4fd23a8753f2a3ba8672cd94497"
      ],
      "author": {
        "name": "Evan Gates",
        "email": "evan.gates@gmail.com",
        "time": "Wed Oct 05 15:34:52 2016 -0700"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 12:46:06 2016 +0100"
      },
      "message": "find: remove VLAs\n\nLaslo: Use ereallocarray and fix the style a bit\n"
    },
    {
      "commit": "0b27c0c9a08ac4fd23a8753f2a3ba8672cd94497",
      "tree": "f41c7dc2d8552e27798291290a3e5acdcff8732c",
      "parents": [
        "b7c73e23929ca0aa68f48daf9f405fff7cce9fe7"
      ],
      "author": {
        "name": "Evan Gates",
        "email": "evan.gates@gmail.com",
        "time": "Wed Oct 05 15:37:34 2016 -0700"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 12:37:57 2016 +0100"
      },
      "message": "find: estrdup before basename\n\n\"The basename() function may modify the string pointed to by path...\"\nThanks POSIX\n\nLaslo: Changed the style a bit\n"
    },
    {
      "commit": "b7c73e23929ca0aa68f48daf9f405fff7cce9fe7",
      "tree": "b871b2a5d273eb285347cf726313dc7c6f163ed9",
      "parents": [
        "f5baf2630ab0cf51306bb94311e7eed84caa730d"
      ],
      "author": {
        "name": "Wolfgang Corcoran-Mathe",
        "email": "wcm@sigwinch.xyz",
        "time": "Sun Jul 24 21:04:28 2016 -0400"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 12:29:52 2016 +0100"
      },
      "message": "ed: Fix backslash expressions in RHS\n\nBy stripping backslashes this code caused a number of bugs.\n\u0027\\\u003cdigit\u003e\u0027 expressions caused literal \u003cdigit\u003es to be subbed-in,\n\u0027\\\u0026\u0027 was treated identically to \u0027\u0026\u0027, and other escaped characters\nadded garbage to the string.\n"
    },
    {
      "commit": "f5baf2630ab0cf51306bb94311e7eed84caa730d",
      "tree": "27db5eef8b6d90348bf8c559cb913d3939994c34",
      "parents": [
        "28129a87c4db31cd43f0e4289e68587f2a01127e"
      ],
      "author": {
        "name": "Wolfgang Corcoran-Mathe",
        "email": "wcm@sigwinch.xyz",
        "time": "Sun Jul 24 21:04:27 2016 -0400"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 12:28:36 2016 +0100"
      },
      "message": "ed: Don\u0027t match against line 0 in search()\n\nregexec(3) happily matches /^$/ against the text of line\nzero (the null string), causing an error.\n\nAlso update email address for Wolfgang Corcoran-Mathe\n"
    },
    {
      "commit": "28129a87c4db31cd43f0e4289e68587f2a01127e",
      "tree": "edebf6b55b9a70f0c88e9d251f0ba161ef3c5b4e",
      "parents": [
        "fb11173926bc783bc70b8e848368eaa97915e54f"
      ],
      "author": {
        "name": "Mattias Andrée",
        "email": "maandree@kth.se",
        "time": "Sat Mar 26 17:23:03 2016 +0100"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Tue Dec 27 11:35:27 2016 +0100"
      },
      "message": "Add rev(1)\n\nSigned-off-by: Mattias Andrée \u003cmaandree@kth.se\u003e\n"
    },
    {
      "commit": "fb11173926bc783bc70b8e848368eaa97915e54f",
      "tree": "ee2947458c9c15cc44bc26c9a5173434236e8797",
      "parents": [
        "d24ef864cbf9be010294418acb51c0d424c7bc99"
      ],
      "author": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Fri Nov 18 12:45:59 2016 +0100"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Fri Nov 18 12:45:59 2016 +0100"
      },
      "message": "tr: Fix multiple ranges with different lengths (Michael Forney)\n\nSee his description below. Thanks Michael!\n\n---\nA bug was introduced in bc4c293fe59de042c1ac71793d33bb685c4fb915 causing the\nrange length for the next set to be used instead of the first one. This causes\nissues when choosing the replacement rune when the ranges are of different\nlengths.\n\nCurrent behavior:\n\n$ echo 1234 | tr \u0027a-f1-4\u0027 \u00271-6a-d\u0027\n56ab\n\nCorrect behavior:\n\n$ echo 1234 | tr \u0027a-f1-4\u0027 \u00271-6a-d\u0027\nabcd\n\nThis also fixes range expressions in the form [a-z], which get encoded as four\nranges \u0027[\u0027, \u0027a\u0027..\u0027z\u0027, \u0027]\u0027, causing all a-z characters to get mapped to \u0027]\u0027. This\nform is occasionally used in shell scripts, including the syscalltbl.sh script\nused to build linux.\n---\n"
    },
    {
      "commit": "d24ef864cbf9be010294418acb51c0d424c7bc99",
      "tree": "3222d71f809ffad88bc1ac28669ce8f16d387374",
      "parents": [
        "071dcc4d6b0b901591a8b591c746390f2c3e0f9c"
      ],
      "author": {
        "name": "Evan Gates",
        "email": "evan.gates@gmail.com",
        "time": "Wed Oct 05 14:43:30 2016 -0700"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Thu Oct 06 10:21:12 2016 +0200"
      },
      "message": "ls: respect -q when printing directory names with -R\n\nbreak out the non printable character to ? code into a makeprint()\nfunction so it can be used both in output() and lsdir()\n"
    },
    {
      "commit": "071dcc4d6b0b901591a8b591c746390f2c3e0f9c",
      "tree": "9f496a1f830f83b66a08c727fd0d86ec19bfbc68",
      "parents": [
        "b5ebd49dd3fa06fd4a505ba9421fda8c6d65861f"
      ],
      "author": {
        "name": "Evan Gates",
        "email": "evan.gates@gmail.com",
        "time": "Wed Oct 05 10:57:38 2016 -0700"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Thu Oct 06 10:21:12 2016 +0200"
      },
      "message": "ls: fix ls -lq to respect -q flag\n"
    },
    {
      "commit": "b5ebd49dd3fa06fd4a505ba9421fda8c6d65861f",
      "tree": "066842e29bd2e2f457676172e1981d348a8d1a18",
      "parents": [
        "c154ef7a0399b9ca0bbea96a044841657d743ea0"
      ],
      "author": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Thu Oct 06 01:59:36 2016 +0200"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Thu Oct 06 02:00:25 2016 +0200"
      },
      "message": "tr: Provide a fallthrough case for single-arg -s\n\nPreviously, this would not work properly and not be let through the\nsanity check.\n\nThis is a dirty hack until the next iteration where I\u0027ll clean up the\ndata structures and make this saner.\n"
    },
    {
      "commit": "c154ef7a0399b9ca0bbea96a044841657d743ea0",
      "tree": "37f6311275e743b4b0637f47771e194e15a02815",
      "parents": [
        "096c504d82b99e36cce20b0298cb32c70f4c61fe"
      ],
      "author": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Thu Oct 06 00:15:56 2016 +0200"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Thu Oct 06 00:16:30 2016 +0200"
      },
      "message": "tr(1): Properly handle the -dc case for character classes\n\nI actually did that properly in the set-case but forgot to add the same\nlogic to the character classes. Now it should work fine.\n"
    },
    {
      "commit": "096c504d82b99e36cce20b0298cb32c70f4c61fe",
      "tree": "5c6012c53d44f143b8da3ea7b7c4317464f7c94c",
      "parents": [
        "456f3c4211d110fb6f19eab988a7db74de1c4768"
      ],
      "author": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Wed Oct 05 21:54:51 2016 +0200"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Wed Oct 05 21:54:51 2016 +0200"
      },
      "message": "tr(1): Properly jump to output when inside set complement\n"
    },
    {
      "commit": "456f3c4211d110fb6f19eab988a7db74de1c4768",
      "tree": "b73b31b12f83a6a047c3d102e075867ed8be165f",
      "parents": [
        "bc4c293fe59de042c1ac71793d33bb685c4fb915"
      ],
      "author": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Wed Oct 05 21:42:24 2016 +0200"
      },
      "committer": {
        "name": "Laslo Hunhold",
        "email": "dev@frign.de",
        "time": "Wed Oct 05 21:42:24 2016 +0200"
      },
      "message": "tr.1: Make note of some changes in the utility\n"
    },
    {
      "commit": "bc4c293fe59de042c1ac71793d33bb685c4fb915",
      "tree": "e8bb136ba2e976c4a262599c7dca3a34a5906fbf",
      "parents": [
        "9de401a495701836d744dc6c55ff62f361369753"
      ],
      "author": {
        "name": "FRIGN",
        "email": "dev@frign.de",
        "time": "Wed Oct 05 21:18:24 2016 +0200"
      },
      "committer": {
        "name": "FRIGN",
        "email": "dev@frign.de",
        "time": "Wed Oct 05 21:18:24 2016 +0200"
      },
      "message": "Revamp tr(1) set parsing and handling\n\nIf you look at GNU coreutils, they do not support the mappings\n\n\t$ echo \"1234abc\" | tr \"[:alnum:]\" \"[:upper:]\"\n\n\t$ echo \"ABCabc\" | tr -c \"[:upper:]\" \"[l*]\"\n\nto only give a few examples. This commit broadens the scope of tr(1)\nas far as humanly possible to map between classes and non-classes,\nmaking tr a usable tool and actually fulfilling user expectations.\nPosix really is of no help here as it still kind of assumes the\nfixed ASCII table instead of complex Unicode code points or even\nGrapheme clusters.\n"
    },
    {
      "commit": "9de401a495701836d744dc6c55ff62f361369753",
      "tree": "fa1b659477aca9a74c9f003113b3269d48047546",
      "parents": [
        "fac091b7cc918f2a7c4c20038141efc2279f03c7"
      ],
      "author": {
        "name": "FRIGN",
        "email": "dev@frign.de",
        "time": "Wed Oct 05 19:31:50 2016 +0200"
      },
      "committer": {
        "name": "FRIGN",
        "email": "dev@frign.de",
        "time": "Wed Oct 05 19:31:50 2016 +0200"
      },
      "message": "Fix tr(1) squeezing\n\nOkay, it took me a while and another look at the Posix spec to see that\nI have been dealing with squeezing in a way too complicated way.\nWhat just needed to be done is before doing the final write to deploy\nthe squeeze-check. We actually do not need this atomically complicated\nsqueeze check in every single edge-case. Now it should work properly.\n"
    },
    {
      "commit": "fac091b7cc918f2a7c4c20038141efc2279f03c7",
      "tree": "66ff3ccfc8eda004b66c6a496183bcdfb8c12a60",
      "parents": [
        "de28c8bfa7ef799ee2e8e49e8a3a1828f80a7442"
      ],
      "author": {
        "name": "FRIGN",
        "email": "dev@frign.de",
        "time": "Tue Oct 04 01:20:52 2016 +0200"
      },
      "committer": {
        "name": "FRIGN",
        "email": "dev@frign.de",
        "time": "Wed Oct 05 18:48:10 2016 +0200"
      },
      "message": "getconf.sh: Be more explicit we are using a heredoc here\n"
    }
  ],
  "next": "de28c8bfa7ef799ee2e8e49e8a3a1828f80a7442"
}
