)]}'
{
  "log": [
    {
      "commit": "4758f6fb7f889e074e13df3f914328f3eecb1fd3",
      "tree": "25526f3166663b307b4c6a91deacc6aaa894049f",
      "parents": [
        "466fc22016cf0981424e7121557611942191992f",
        "2be2bf132bad5017efe9b9a3c56853efff0ff4f3"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu Apr 24 13:54:44 2025 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu Apr 24 13:54:44 2025 +0000"
      },
      "message": "Merge branch \u0027declare-includes\u0027 into \u0027main\u0027\n\nbuild: Declare a dependency for includes\n\nSee merge request GNOME/gvdb!28"
    },
    {
      "commit": "2be2bf132bad5017efe9b9a3c56853efff0ff4f3",
      "tree": "25526f3166663b307b4c6a91deacc6aaa894049f",
      "parents": [
        "466fc22016cf0981424e7121557611942191992f"
      ],
      "author": {
        "name": "Wesley Hershberger",
        "email": "wesley.hershberger@canonical.com",
        "time": "Mon Apr 21 16:38:03 2025 -0500"
      },
      "committer": {
        "name": "Wesley Hershberger",
        "email": "wesley.hershberger@canonical.com",
        "time": "Tue Apr 22 11:11:05 2025 -0500"
      },
      "message": "build: Declare a dependency for includes\n\nThis comes from attempting to include gvdb in dconf as a meson submodule.\n"
    },
    {
      "commit": "466fc22016cf0981424e7121557611942191992f",
      "tree": "26bb82d188eb86b7ee86babf4dac282a6bc397c1",
      "parents": [
        "2b42fc75f09dbe1cd1057580b5782b08f2dcb400",
        "f1a6bc7cafd0df34d1495f436038bd366cbb47cf"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu Mar 13 15:53:50 2025 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu Mar 13 15:53:50 2025 +0000"
      },
      "message": "Merge branch \u0027autoptr-support\u0027 into \u0027main\u0027\n\ngvdb-reader: Add autoptr support for GvdbTable\n\nSee merge request GNOME/gvdb!26"
    },
    {
      "commit": "f1a6bc7cafd0df34d1495f436038bd366cbb47cf",
      "tree": "26bb82d188eb86b7ee86babf4dac282a6bc397c1",
      "parents": [
        "e638aa7b877e5b72881f1b8e71b9331e3350bfcc"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu Mar 13 15:17:21 2025 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu Mar 13 15:17:21 2025 +0000"
      },
      "message": "tests: Add autoptr test\n\nJust to make sure it works.\n\nThis adds a dependency on `glib-2.0`, although that already existed\ntransitively through `gio-2.0`. It requires version ≥ 2.44, but that’s\nalmost exactly 10 years old now, so shouldn’t be a problem.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "e638aa7b877e5b72881f1b8e71b9331e3350bfcc",
      "tree": "d6a7873c54062f63e51260e42768c5e6fd4df932",
      "parents": [
        "88aa406b552d88852f53eb31d9536bfb0b91bec1"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu Mar 13 15:16:21 2025 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu Mar 13 15:16:21 2025 +0000"
      },
      "message": "tests: Refactor build system to be scalable\n\nThis allows us to add more tests in future (see following commits)\nwithout having to duplicate the `executable()` and `test()` calls for\nthem.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "88aa406b552d88852f53eb31d9536bfb0b91bec1",
      "tree": "cef53df32ac4695fcb5896acc2ad0dc8796e9ea0",
      "parents": [
        "2b42fc75f09dbe1cd1057580b5782b08f2dcb400"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu Mar 13 15:14:48 2025 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu Mar 13 15:14:48 2025 +0000"
      },
      "message": "gvdb-reader: Add autoptr support for GvdbTable\n\nI think this is the only type in gvdb which needs it.\n\nThe `G_DEFINE_AUTOPTR_CLEANUP_FUNC` is a no-op on platforms which don’t\nsupport it, so it doesn’t need any configure checks.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "2b42fc75f09dbe1cd1057580b5782b08f2dcb400",
      "tree": "29e73de6223f5cd5df2e5ee96f83329e6b691526",
      "parents": [
        "54856061931817ec3437f6d86dd3480c0b721f4b",
        "873d594405a82488b24d555c40fe64025c1a8a85"
      ],
      "author": {
        "name": "Emmanuele Bassi",
        "email": "ebassi@gmail.com",
        "time": "Thu Sep 12 14:51:13 2024 +0000"
      },
      "committer": {
        "name": "Emmanuele Bassi",
        "email": "ebassi@gmail.com",
        "time": "Thu Sep 12 14:51:13 2024 +0000"
      },
      "message": "Merge branch \u0027wip/pwithnall/enable-tests\u0027 into \u0027main\u0027\n\nbuild: Add -Dtests configure option\n\nSee merge request GNOME/gvdb!25"
    },
    {
      "commit": "873d594405a82488b24d555c40fe64025c1a8a85",
      "tree": "29e73de6223f5cd5df2e5ee96f83329e6b691526",
      "parents": [
        "54856061931817ec3437f6d86dd3480c0b721f4b"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu Sep 12 15:24:14 2024 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu Sep 12 15:24:14 2024 +0100"
      },
      "message": "build: Add -Dtests configure option\n\nWhile the test suite is good, it introduces a dependency loop when\nbuilding glib.git: glib.git pulls in gvdb.git as a subproject so that it\ncan be statically built into `libgio-2.0.so`. The new unit tests in\n`gvdb/tests/meson.build` call `dependency(\u0027gio-2.0\u0027)`. GLib overrides\nthis dependency, but it can’t do so until it’s defined how\n`libgio-2.0.so` is built, but that depends on GVDB, so GVDB’s\n`dependency(\u0027gio-2.0\u0027)` is called first. This means the dependency can’t\nbe found.\n\nIt’s not strictly a dependency loop (GVDB tests depend on libgio and the\nGVDB sources; libgio depends on the GVDB sources; nothing depends on the\nGVDB tests) but acts as one in effect because the `meson.build` for the\ntests can’t be split from the `meson.build` for the GVDB sources.\n\nSo, add `-Dtests\u003d{true,false}` so GLib can disable the tests when using\nGVDB as a submodule.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "54856061931817ec3437f6d86dd3480c0b721f4b",
      "tree": "41526c6140fcfc9af236bea4573562be746ff4f6",
      "parents": [
        "78e7f3359614313b0417092b5a39b0fdb39f8300",
        "69f33c09f384fdf48f2d704c734d1294995adc60"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu Sep 12 13:32:04 2024 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu Sep 12 13:32:04 2024 +0000"
      },
      "message": "Merge branch \u0027ignore-meson-wrap-hash\u0027 into \u0027main\u0027\n\nAdd meson wrap hash files to .gitignore\n\nSee merge request GNOME/gvdb!24"
    },
    {
      "commit": "69f33c09f384fdf48f2d704c734d1294995adc60",
      "tree": "41526c6140fcfc9af236bea4573562be746ff4f6",
      "parents": [
        "78e7f3359614313b0417092b5a39b0fdb39f8300"
      ],
      "author": {
        "name": "FeRD (Frank Dana)",
        "email": "ferdnyc@gmail.com",
        "time": "Thu Sep 12 05:59:33 2024 -0400"
      },
      "committer": {
        "name": "FeRD (Frank Dana)",
        "email": "ferdnyc@gmail.com",
        "time": "Thu Sep 12 05:59:33 2024 -0400"
      },
      "message": "Add meson wrap hash files to .gitignore\n"
    },
    {
      "commit": "78e7f3359614313b0417092b5a39b0fdb39f8300",
      "tree": "aafeb30e0cd5f0c99780d8451f6d9889da2eb7a9",
      "parents": [
        "b54bc5da25127ef416858a3ad92e57159ff565b3",
        "296490fe17987cffb46c21556c6ee97511187bd2"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Sep 11 09:40:09 2024 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Sep 11 09:40:09 2024 +0000"
      },
      "message": "Merge branch \u0027n-children\u0027 into \u0027main\u0027\n\nAdd gvdb_table_n_children\n\nSee merge request GNOME/gvdb!23"
    },
    {
      "commit": "296490fe17987cffb46c21556c6ee97511187bd2",
      "tree": "aafeb30e0cd5f0c99780d8451f6d9889da2eb7a9",
      "parents": [
        "b54bc5da25127ef416858a3ad92e57159ff565b3"
      ],
      "author": {
        "name": "Matthias Clasen",
        "email": "mclasen@redhat.com",
        "time": "Fri Sep 06 00:06:14 2024 -0400"
      },
      "committer": {
        "name": "Matthias Clasen",
        "email": "mclasen@redhat.com",
        "time": "Tue Sep 10 20:41:13 2024 -0400"
      },
      "message": "Add gvdb_table_n_children\n\nThis is a variant of gvdb_table_list that just returns the number\nof items that would be listed.\n"
    },
    {
      "commit": "b54bc5da25127ef416858a3ad92e57159ff565b3",
      "tree": "c3fcc4639eeb20c645680a6f5f4b6e5ac9d16d34",
      "parents": [
        "b76238f8af5cb9fd837f1d677c6f3496e671dafd",
        "b2cbe0c26059192abd67775115910d64fc4d0628"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Sun Sep 01 08:58:05 2024 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Sun Sep 01 08:58:05 2024 +0000"
      },
      "message": "Merge branch \u0027wip/wshadow-warnings\u0027 into \u0027main\u0027\n\ngvdb-reader: Rename variable to avoid shadowing\n\nSee merge request GNOME/gvdb!22"
    },
    {
      "commit": "b2cbe0c26059192abd67775115910d64fc4d0628",
      "tree": "c3fcc4639eeb20c645680a6f5f4b6e5ac9d16d34",
      "parents": [
        "7aa8aa913ece9d9dd306579f0b44b558416213c5"
      ],
      "author": {
        "name": "Carlos Garnacho",
        "email": "carlosg@gnome.org",
        "time": "Sat Aug 31 16:20:54 2024 +0200"
      },
      "committer": {
        "name": "Carlos Garnacho",
        "email": "carlosg@gnome.org",
        "time": "Sat Aug 31 16:20:54 2024 +0200"
      },
      "message": "gvdb-builder: Mark argument with G_GNUC_UNUSED\n\nMay avoid warnings with -Wunused.\n"
    },
    {
      "commit": "7aa8aa913ece9d9dd306579f0b44b558416213c5",
      "tree": "a966e620ea4b3ec468a803bdb77b22fb22c0d2f0",
      "parents": [
        "b76238f8af5cb9fd837f1d677c6f3496e671dafd"
      ],
      "author": {
        "name": "Carlos Garnacho",
        "email": "carlosg@gnome.org",
        "time": "Fri Aug 30 20:18:18 2024 +0200"
      },
      "committer": {
        "name": "Carlos Garnacho",
        "email": "carlosg@gnome.org",
        "time": "Fri Aug 30 20:18:18 2024 +0200"
      },
      "message": "gvdb-reader: Rename variable to avoid shadowing\n\nThis fixes compiler warnings with -Wshadow, or errors\nwith -Werror\u003dshadow.\n"
    },
    {
      "commit": "b76238f8af5cb9fd837f1d677c6f3496e671dafd",
      "tree": "f9410fc9497b9cf5085da9b153cebf3c025b2518",
      "parents": [
        "cd42bc74f63ec1f625179ef03431a63e841a2755",
        "ee31fb270fbda47c28da259fd816747cb9446a9f"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri May 24 11:28:50 2024 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri May 24 11:28:50 2024 +0000"
      },
      "message": "Merge branch \u0027test-fixes\u0027 into \u0027main\u0027\n\nImprove integration of new test\n\nSee merge request GNOME/gvdb!21"
    },
    {
      "commit": "ee31fb270fbda47c28da259fd816747cb9446a9f",
      "tree": "f9410fc9497b9cf5085da9b153cebf3c025b2518",
      "parents": [
        "ac2b601f6b5993b428d5b6295a4adec63dc70fb2"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Fri May 24 12:26:32 2024 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Fri May 24 12:26:32 2024 +0100"
      },
      "message": "doap: Remove Allison as a maintainer\n\nHer GNOME account/git access seems to have lapsed, and this is\npreventing merges to `main`:\n```\nremote: ERROR: gvdb.doap is not valid:\nremote:    Invalid gnome:userid property (desrt is not a member of the gnomecvs group)\n```\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "ac2b601f6b5993b428d5b6295a4adec63dc70fb2",
      "tree": "42996afb2582dfbed59e1ceccdf228eb12fd57ff",
      "parents": [
        "39eb52445741af269e8a7a230d330015fd0da03c"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:45:54 2024 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:47:33 2024 +0100"
      },
      "message": "Add missing SPDX license/copyright headers and SPDX license files\n\nThis makes the project [REUSE compliant](https://reuse.software/)\naccording to `reuse lint`.\n\nThe copyright/license data has been inferred from git logs where it\nwasn’t already explicitly documented in each file.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "39eb52445741af269e8a7a230d330015fd0da03c",
      "tree": "be23a17e810dbc0f6ed4bd0ed4dd4b66d3bd662d",
      "parents": [
        "ccd2905b9ab91abf6d40b126c66fa2f9b0e088df"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:36:25 2024 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:36:25 2024 +0100"
      },
      "message": "gvdb-builder: Fix a leak in gvdb_table_get_contents()\n\nSpotted by running the new unit test under valgrind.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "ccd2905b9ab91abf6d40b126c66fa2f9b0e088df",
      "tree": "7fec87b13fee23eb6274ca7f3f3a3fc3f6dfb6aa",
      "parents": [
        "aa34bc0dd4239906ebed7d424afd9c65cd5fd104"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:35:51 2024 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:35:51 2024 +0100"
      },
      "message": "gvdb-reader: Add some missing introspection annotations\n\nThis isn’t a full pass for missing annotations in this file, it’s just a\ncouple I noticed while looking at these functions.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "aa34bc0dd4239906ebed7d424afd9c65cd5fd104",
      "tree": "91ae06953479fefd0b77e26e8a9aed0a689d9dee",
      "parents": [
        "c6f33068c66c9d40b2158aaa23c6e893a5864a71"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:35:08 2024 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:35:08 2024 +0100"
      },
      "message": "tests: Build test files in a tmpdir rather than the build directory\n\nThis is a little cleaner, and ensures that if more tests are added in\nfuture and run in parallel, there’s no chance of them colliding in the\nbuild dir.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "c6f33068c66c9d40b2158aaa23c6e893a5864a71",
      "tree": "38a5a41f5b241bc0b3ba0d90a80b6523c3798e8a",
      "parents": [
        "208acf84ea9c54ddc478f176dba9db14066cbe05"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:28:09 2024 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:28:09 2024 +0100"
      },
      "message": "tests: Move to a subdirectory\n\nThis standardises it against other projects a bit, and makes it a bit\neasier to add more tests in future if needed.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "208acf84ea9c54ddc478f176dba9db14066cbe05",
      "tree": "5fd2cdbc6ec130005d87a99241c7f81e84a2d0bf",
      "parents": [
        "a1a74af5422dbccd5ab3030a72851569fec1a711"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:23:37 2024 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:23:37 2024 +0100"
      },
      "message": "tests: Standardise the main() declaration\n\nIt’s a libc thing, so it should use libc types.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "a1a74af5422dbccd5ab3030a72851569fec1a711",
      "tree": "4370a15c6a73a23615cb7d18cbfcf0b038efeee9",
      "parents": [
        "4ab4482f533ef63044965ef484fdce87e2fce6f6"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:23:15 2024 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:23:15 2024 +0100"
      },
      "message": "tests: Fix a couple of leaks in the unit tests\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "4ab4482f533ef63044965ef484fdce87e2fce6f6",
      "tree": "4df2eeb3faa823ed4bccb1d55328a982700d405d",
      "parents": [
        "e0e57d6d72d91e7cd255a5339c10ba83a1728e63"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:22:18 2024 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:22:45 2024 +0100"
      },
      "message": "tests: Fix unnecessary use of a stdint.h type\n\nJust use a standard GLib type to avoid having to include `stdint.h`.\n\nThis introduces no functional changes.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "e0e57d6d72d91e7cd255a5339c10ba83a1728e63",
      "tree": "ac8df841e7067730f8f135cf156ecb53ec5d795f",
      "parents": [
        "cd42bc74f63ec1f625179ef03431a63e841a2755"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:21:01 2024 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@gnome.org",
        "time": "Thu May 23 23:21:57 2024 +0100"
      },
      "message": "tests: Use most specific assertion macros possible\n\nThis makes it a little easier to debug failures.\n\nThis also adds a few missing checks, and tightens up some checks.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@gnome.org\u003e\n"
    },
    {
      "commit": "cd42bc74f63ec1f625179ef03431a63e841a2755",
      "tree": "c68a3a65fb928eff88e90f61afda5185e9e391fb",
      "parents": [
        "89dbdb9ab45721189e195c7e70ed620143d840f7",
        "604ea0726580ae4e72a35673f3dbbae660ab8978"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu May 23 21:59:33 2024 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Thu May 23 21:59:33 2024 +0000"
      },
      "message": "Merge branch \u0027wip/test-suite\u0027 into \u0027main\u0027\n\ngvdb: Add test suite\n\nSee merge request GNOME/gvdb!20"
    },
    {
      "commit": "604ea0726580ae4e72a35673f3dbbae660ab8978",
      "tree": "c68a3a65fb928eff88e90f61afda5185e9e391fb",
      "parents": [
        "89dbdb9ab45721189e195c7e70ed620143d840f7"
      ],
      "author": {
        "name": "Carlos Garnacho",
        "email": "carlosg@gnome.org",
        "time": "Wed Feb 14 13:58:54 2024 +0100"
      },
      "committer": {
        "name": "Carlos Garnacho",
        "email": "carlosg@gnome.org",
        "time": "Thu May 23 23:53:23 2024 +0200"
      },
      "message": "gvdb: Add test suite\n\nA small gift from the Tracker project before shedding this\ndependency. These tests were started at the time gvdb was still\nincluded in Tracker sources, and still had near complete\ncoverage at more modern times for commit 89dbdb9ab4 pinned in\nTracker.\n\nThis will make projects using gvdb as a dependency to include\nthese tests as part of their suite.\n"
    },
    {
      "commit": "89dbdb9ab45721189e195c7e70ed620143d840f7",
      "tree": "ce4286ed40b025303d4c151d20ada54c5586b277",
      "parents": [
        "0854af0fdb6d527a8d1999835ac2c5059976c210",
        "c70e06b42823950d7adeabf100cba6a004f9199f"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri Apr 14 12:01:28 2023 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri Apr 14 12:01:28 2023 +0000"
      },
      "message": "Merge branch \u0027ebassi/builder-content\u0027 into \u0027main\u0027\n\nAdd getter for GVDB table contents\n\nSee merge request GNOME/gvdb!19"
    },
    {
      "commit": "c70e06b42823950d7adeabf100cba6a004f9199f",
      "tree": "ce4286ed40b025303d4c151d20ada54c5586b277",
      "parents": [
        "0854af0fdb6d527a8d1999835ac2c5059976c210"
      ],
      "author": {
        "name": "Emmanuele Bassi",
        "email": "ebassi@gnome.org",
        "time": "Thu Apr 13 13:29:14 2023 +0100"
      },
      "committer": {
        "name": "Emmanuele Bassi",
        "email": "ebassi@gnome.org",
        "time": "Fri Apr 14 12:31:01 2023 +0100"
      },
      "message": "Add getter for GVDB table contents\n\nThe xdg-desktop-portal project is using GVDB as the basis for the\npermissions store.\n\nEach permission table is stores as a block of bytes inside another GVDB\ntable, in order to isolate the permissions of each application.\n\nCurrently, xdg-desktop-portal uses GVDB as a copy-paste library; the\nonly missing API to avoid that, and switch GVDB to a proper subproject,\nis a way to extract the contents of a GVDB table into a GBytes buffer.\n"
    },
    {
      "commit": "0854af0fdb6d527a8d1999835ac2c5059976c210",
      "tree": "eff0346edf30601ffa7b51a473fcc64be7c33b80",
      "parents": [
        "dcd781fb7ab565f9d4244d6157bbdd741c8ac6cd",
        "061e9b92539cfb5c5c57cca04aa41a9cbf7434ba"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Jun 15 11:13:38 2022 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Jun 15 11:13:38 2022 +0000"
      },
      "message": "Merge branch \u0027wip/pwithnall/meson\u0027 into \u0027main\u0027\n\nbuild: Add very basic meson build system\n\nSee merge request GNOME/gvdb!18"
    },
    {
      "commit": "061e9b92539cfb5c5c57cca04aa41a9cbf7434ba",
      "tree": "eff0346edf30601ffa7b51a473fcc64be7c33b80",
      "parents": [
        "dcd781fb7ab565f9d4244d6157bbdd741c8ac6cd"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@endlessos.org",
        "time": "Tue Jun 07 18:00:41 2022 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@endlessos.org",
        "time": "Tue Jun 14 18:39:36 2022 +0100"
      },
      "message": "build: Add very basic meson build system\n\nThis doesn’t build any files, but does expose the list of sources as a\nMeson variable so it can be used as a subproject from other projects.\n\nI thought about building a static library for gvdb, but this would cause\nproblems for libgio (and gvdb’s use inside libgio is the motivation for\nmaking it subproject-able). gvdb depends on libgio types, such as\n`GCancellable`, but also is a dependency of parts of libgio, such as\n`GResource`. That circular dependency means that building a static\nlibrary is non-trivial.\n\nThere is an approach for achieving this, detailed by Eli Schwartz at\nhttps://gitlab.gnome.org/GNOME/gvdb/-/merge_requests/18#note_1474750,\nbut that’s too much work for what I would like to achieve here. It can\nalways be implemented in future, particularly if we add unit tests to\ngvdb (in this git repository) or if another project starts linking gvdb\nin using Meson subprojects rather than copy/paste.\n\nThe files have to be moved to a `gvdb/` subdirectory to keep the include\npaths working correctly — code in GLib which uses gvdb uses `#include\n\u003cgvdb/gvdb-builder.h\u003e`.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@endlessos.org\u003e\n"
    },
    {
      "commit": "dcd781fb7ab565f9d4244d6157bbdd741c8ac6cd",
      "tree": "1bf4d22141762c643bc52cd7aeb7df3fbf92c9f8",
      "parents": [
        "4fb16d4c8a73efae7b679bfb6e86017022805702",
        "050feb2aad14418a9fbcda32079ed947fea07614"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue Oct 12 12:19:32 2021 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue Oct 12 12:19:32 2021 +0000"
      },
      "message": "Merge branch \u0027nosigned\u0027 into \u0027master\u0027\n\nMake number of buckets a gsize\n\nSee merge request GNOME/gvdb!17"
    },
    {
      "commit": "050feb2aad14418a9fbcda32079ed947fea07614",
      "tree": "1bf4d22141762c643bc52cd7aeb7df3fbf92c9f8",
      "parents": [
        "4fb16d4c8a73efae7b679bfb6e86017022805702"
      ],
      "author": {
        "name": "Yegor Bychin",
        "email": "j@siga.icu",
        "time": "Tue Oct 12 12:19:32 2021 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Tue Oct 12 12:19:32 2021 +0000"
      },
      "message": "Make number of buckets a gsize\n"
    },
    {
      "commit": "4fb16d4c8a73efae7b679bfb6e86017022805702",
      "tree": "24cc35153f1125aafe149897d646aea38533d393",
      "parents": [
        "a38285027e12ecca3f2ffc288611ec50fd22ca2b",
        "a79e75db7cd48339ec3c09f37bd0d7453d111a5d"
      ],
      "author": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@gnome.org",
        "time": "Wed Aug 11 15:14:13 2021 +0000"
      },
      "committer": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@gnome.org",
        "time": "Wed Aug 11 15:14:13 2021 +0000"
      },
      "message": "Merge branch \u0027readme\u0027 into \u0027master\u0027\n\ndocs: Add README\n\nSee merge request GNOME/gvdb!16"
    },
    {
      "commit": "a79e75db7cd48339ec3c09f37bd0d7453d111a5d",
      "tree": "24cc35153f1125aafe149897d646aea38533d393",
      "parents": [
        "a38285027e12ecca3f2ffc288611ec50fd22ca2b"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@endlessos.org",
        "time": "Wed Aug 11 09:54:44 2021 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@endlessos.org",
        "time": "Wed Aug 11 09:54:44 2021 +0100"
      },
      "message": "docs: Add README\n\nAdd a simple readme containing a brief braindump of how GVDB works and\nits strengths and weaknesses.\n\nSigned-off-by: Philip Withnall \u003cpwithnall@endlessos.org\u003e\n"
    },
    {
      "commit": "a38285027e12ecca3f2ffc288611ec50fd22ca2b",
      "tree": "0716da2b2bc74d3b5ba160a415bf104777b36d6a",
      "parents": [
        "3d50fe28e8e8f8b215a36581c6b4c9b199b60eb6",
        "eeaceb74c4756a725a0d8f4458f38708387f461c"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Aug 11 08:46:29 2021 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Wed Aug 11 08:46:29 2021 +0000"
      },
      "message": "Merge branch \u0027fix-scan-build-findings\u0027 into \u0027master\u0027\n\nFix scan-build findings\n\nSee merge request GNOME/gvdb!14"
    },
    {
      "commit": "eeaceb74c4756a725a0d8f4458f38708387f461c",
      "tree": "0716da2b2bc74d3b5ba160a415bf104777b36d6a",
      "parents": [
        "3d50fe28e8e8f8b215a36581c6b4c9b199b60eb6"
      ],
      "author": {
        "name": "Jan-Michael Brummer",
        "email": "jan.brummer@tabos.org",
        "time": "Fri Jan 08 20:44:07 2021 +0100"
      },
      "committer": {
        "name": "Jan-Michael Brummer",
        "email": "jan.brummer@tabos.org",
        "time": "Fri Jan 08 21:10:20 2021 +0100"
      },
      "message": "Fix scan-build findings\n"
    },
    {
      "commit": "3d50fe28e8e8f8b215a36581c6b4c9b199b60eb6",
      "tree": "88c724d37fde1ce6492ebf27cf2e010eaefd5c4b",
      "parents": [
        "03cf620f1b5e88dd5ebf1c87afe81764708caae0",
        "1b6fa560b0e64b37108544b7aa493e6698e609b5"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "pwithnall@endlessos.org",
        "time": "Mon Jan 04 11:32:16 2021 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "pwithnall@endlessos.org",
        "time": "Mon Jan 04 11:32:16 2021 +0000"
      },
      "message": "Merge remote-tracking branch \u0027fmartinsons/1735-fix-warnings\u0027\n"
    },
    {
      "commit": "1b6fa560b0e64b37108544b7aa493e6698e609b5",
      "tree": "88c724d37fde1ce6492ebf27cf2e010eaefd5c4b",
      "parents": [
        "03cf620f1b5e88dd5ebf1c87afe81764708caae0"
      ],
      "author": {
        "name": "Frederic Martinsons",
        "email": "frederic.martinsons@sigfox.com",
        "time": "Sat Jan 02 18:45:01 2021 +0100"
      },
      "committer": {
        "name": "Frederic Martinsons",
        "email": "frederic.martinsons@sigfox.com",
        "time": "Mon Jan 04 10:30:56 2021 +0100"
      },
      "message": "Fix warnings\n\nRelated: glib#1735\n\nSigned-off-by: Frederic Martinsons \u003cfrederic.martinsons@sigfox.com\u003e\n"
    },
    {
      "commit": "03cf620f1b5e88dd5ebf1c87afe81764708caae0",
      "tree": "a48986d1d12ff4682b76f61aa149631e4b64b6d6",
      "parents": [
        "ea64c739239faea463f3cb9154a12cc4532ba525"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Tue Jun 23 10:40:35 2020 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Tue Jun 23 10:40:35 2020 +0100"
      },
      "message": "gvdb-reader: Reword a comment for clarity\n\nAvoid ableist phrases.\n\nSigned-off-by: Philip Withnall \u003cwithnall@endlessm.com\u003e\n"
    },
    {
      "commit": "ea64c739239faea463f3cb9154a12cc4532ba525",
      "tree": "92328d40533a1eed32d487ceb612ddc4fd5a1e60",
      "parents": [
        "cc2afef13efd12ac57c2de32bdc1b5b3c923f60c"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Wed Mar 18 09:15:59 2020 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Wed Mar 18 09:15:59 2020 +0000"
      },
      "message": "gvdb-builder: Initialise some memory to zero in the bloom filter\n\nUntil a bloom filter is implemented, we need to ensure that all the\nmemory returned by `file_builder_allocate()` is initialised, since it’s\nnot initialised at allocation time.\n\nSigned-off-by: Philip Withnall \u003cwithnall@endlessm.com\u003e\n\nFixes: #2\n"
    },
    {
      "commit": "cc2afef13efd12ac57c2de32bdc1b5b3c923f60c",
      "tree": "9299fbacac4f07c4788e6c2fc1799c286d0e9f66",
      "parents": [
        "e01f111ed339bc6fcd4b96a5fde2bc6e4811bbe3",
        "e2dc3cd6d9735b7a83e391d955fadb2aac9cf3cc"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Fri Feb 07 13:07:28 2020 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Fri Feb 07 13:07:28 2020 +0000"
      },
      "message": "Merge branch \u0027fix-symlink-issue\u0027\n\nSee https://gitlab.gnome.org/GNOME/gvdb/merge_requests/10\n"
    },
    {
      "commit": "e2dc3cd6d9735b7a83e391d955fadb2aac9cf3cc",
      "tree": "9299fbacac4f07c4788e6c2fc1799c286d0e9f66",
      "parents": [
        "e01f111ed339bc6fcd4b96a5fde2bc6e4811bbe3"
      ],
      "author": {
        "name": "Jan-Michael Brummer",
        "email": "jan.brummer@tabos.org",
        "time": "Mon Feb 03 18:14:47 2020 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Fri Feb 07 13:05:33 2020 +0000"
      },
      "message": "Do not replace file destination\n\nReplacing file destination will also remove a symlink in case the user has moved the\nreal file to another location. Fix this by removing G_FILE_CREATE_REPLACE_DESTINATION flag.\n\nSee also: https://gitlab.gnome.org/GNOME/epiphany/issues/198\n"
    },
    {
      "commit": "e01f111ed339bc6fcd4b96a5fde2bc6e4811bbe3",
      "tree": "279fd3ecedb35a23f6f20de63ab00708c2558ab9",
      "parents": [
        "35851dc9797da28d3e655163fc310eeeb64b9bc7",
        "4131f0d14a1ef60e997170ef4719f22fdbe72890"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Tue Jul 23 12:44:32 2019 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Tue Jul 23 12:44:32 2019 +0100"
      },
      "message": "Merge branch \u0027dilyan.palauzov/gvdb-add-out-doc\u0027 into HEAD\n"
    },
    {
      "commit": "4131f0d14a1ef60e997170ef4719f22fdbe72890",
      "tree": "279fd3ecedb35a23f6f20de63ab00708c2558ab9",
      "parents": [
        "35851dc9797da28d3e655163fc310eeeb64b9bc7"
      ],
      "author": {
        "name": "Дилян Палаузов",
        "email": "git-dpa@aegee.org",
        "time": "Tue Jul 23 09:02:31 2019 +0000"
      },
      "committer": {
        "name": "Дилян Палаузов",
        "email": "git-dpa@aegee.org",
        "time": "Tue Jul 23 11:26:47 2019 +0000"
      },
      "message": "Add (out) to an (optional) parameter\n\n… as it is not (inout).\n\nCloses !9\n"
    },
    {
      "commit": "35851dc9797da28d3e655163fc310eeeb64b9bc7",
      "tree": "54849e0ba8f513bd583225fb3214352cc4398fda",
      "parents": [
        "f586fa04c1bf5247cfecfecbf243655694452417",
        "d83587b2a364eb9a9a53be7e6a708074e252de14"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri Jun 28 10:13:16 2019 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri Jun 28 10:13:16 2019 +0000"
      },
      "message": "Merge branch \u0027mcatanzaro/fix-write-contents-async\u0027 into \u0027master\u0027\n\nFix gvdb_table_write_contents_async()\n\nSee merge request GNOME/gvdb!8"
    },
    {
      "commit": "d83587b2a364eb9a9a53be7e6a708074e252de14",
      "tree": "54849e0ba8f513bd583225fb3214352cc4398fda",
      "parents": [
        "f586fa04c1bf5247cfecfecbf243655694452417"
      ],
      "author": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@igalia.com",
        "time": "Thu Jun 27 16:58:03 2019 -0500"
      },
      "committer": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@igalia.com",
        "time": "Thu Jun 27 16:58:03 2019 -0500"
      },
      "message": "Fix gvdb_table_write_contents_async()\n\nIt worked when I first wrote it, but I broke it during the late stages\nof code review. str is already freed here, so this is a use-after-free\nvulnerability for starters. It also causes the file saved to be always\nempty.\n"
    },
    {
      "commit": "f586fa04c1bf5247cfecfecbf243655694452417",
      "tree": "d6a94950bb7702b2510fa7fdd8413a87b74253bc",
      "parents": [
        "8696b6bbb7571e6d62a2f5a8dfcd0eae57b36fd8",
        "18a0d95aa21f5007a330c00d7d25412695525bf1"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon Jun 24 13:34:10 2019 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon Jun 24 13:34:10 2019 +0000"
      },
      "message": "Merge branch \u0027mcatanzaro/sign-compare\u0027 into \u0027master\u0027\n\nFix -Wsign-compare warning\n\nSee merge request GNOME/gvdb!7"
    },
    {
      "commit": "8696b6bbb7571e6d62a2f5a8dfcd0eae57b36fd8",
      "tree": "eef49df7b46de695e9073077480352b76e4b8581",
      "parents": [
        "a6f0eadb51aae5351a0cfd6b9da3dcba6b134e1a",
        "0d03b2c6dc062b7682163ef7f279dfb0b010264d"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon Jun 24 13:31:58 2019 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon Jun 24 13:31:58 2019 +0000"
      },
      "message": "Merge branch \u0027mcatanzaro/fb-free\u0027 into \u0027master\u0027\n\nDon\u0027t free FileBuilder in serialize function\n\nSee merge request GNOME/gvdb!6"
    },
    {
      "commit": "18a0d95aa21f5007a330c00d7d25412695525bf1",
      "tree": "2a3fac0986e6238083d892d251de9310a0cb12c8",
      "parents": [
        "a6f0eadb51aae5351a0cfd6b9da3dcba6b134e1a"
      ],
      "author": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@igalia.com",
        "time": "Sat Jun 22 13:34:21 2019 -0500"
      },
      "committer": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@igalia.com",
        "time": "Sat Jun 22 13:36:45 2019 -0500"
      },
      "message": "Fix -Wsign-compare warning\n\n[23/236] Compiling C object \u0027lib/76b5a...isc@sha/contrib_gvdb_gvdb-reader.c.o\u0027.\n../../../../Projects/epiphany/lib/contrib/gvdb/gvdb-reader.c: In function ‘gvdb_table_get_names’:\n../../../../Projects/epiphany/lib/contrib/gvdb/gvdb-reader.c:428:27: warning: comparison of integer expressions of different signedness: ‘guint32’ {aka ‘unsigned int’} and ‘gint’ {aka ‘int’} [-Wsign-compare]\n  428 |           else if (parent \u003c n_names \u0026\u0026 names[parent] !\u003d NULL)\n      |                           ^\n\nTo fix this, we have to change n_names to guint, and then also change\nthe types of everything it\u0027s compared against. This seems to be safe\nsince none of these should ever be negative.\n"
    },
    {
      "commit": "0d03b2c6dc062b7682163ef7f279dfb0b010264d",
      "tree": "eef49df7b46de695e9073077480352b76e4b8581",
      "parents": [
        "a6f0eadb51aae5351a0cfd6b9da3dcba6b134e1a"
      ],
      "author": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@igalia.com",
        "time": "Sat Jun 22 13:23:09 2019 -0500"
      },
      "committer": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@igalia.com",
        "time": "Sat Jun 22 13:23:09 2019 -0500"
      },
      "message": "Don\u0027t free FileBuilder in serialize function\n\nIt\u0027s confused both myself and Jan-Michael, when reviewing my changes to\nthis code. It\u0027s weird for the serialize function to take ownership of\nthe passed FileBuilder. Don\u0027t do that.\n\nWe can also add a convenience free function.\n"
    },
    {
      "commit": "a6f0eadb51aae5351a0cfd6b9da3dcba6b134e1a",
      "tree": "5ba2452073fe58ff4411d8c62ad977f5ae37a5e4",
      "parents": [
        "5b455175b4e9566da0e0f28ab6d00a75aa62fd1c",
        "16fb81cd7e3a3586252fc5d185e5c2c95125d045"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri Jun 21 17:08:24 2019 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri Jun 21 17:08:24 2019 +0000"
      },
      "message": "Merge branch \u0027mcatanzaro/write-contents-async\u0027 into \u0027master\u0027\n\nAdd gvdb_table_write_contents_async()\n\nSee merge request GNOME/gvdb!4"
    },
    {
      "commit": "5b455175b4e9566da0e0f28ab6d00a75aa62fd1c",
      "tree": "d36e9cb35c778cbd3b1a04d448ff23689ecff6fc",
      "parents": [
        "93ebac014ae8c9de0c5d35b7f4e24110a10c4b31"
      ],
      "author": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@igalia.com",
        "time": "Fri Jun 21 10:11:08 2019 -0500"
      },
      "committer": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@igalia.com",
        "time": "Fri Jun 21 10:11:08 2019 -0500"
      },
      "message": "Remove trailing whitespace\n"
    },
    {
      "commit": "16fb81cd7e3a3586252fc5d185e5c2c95125d045",
      "tree": "80c5ad8bbcb304434e07c5b170676dacce2da8ad",
      "parents": [
        "d12c5aaba8f2f6208c3493b42ab15a139c049d58"
      ],
      "author": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@igalia.com",
        "time": "Fri Jun 21 09:58:15 2019 -0500"
      },
      "committer": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@igalia.com",
        "time": "Fri Jun 21 10:04:49 2019 -0500"
      },
      "message": "Add some g_return checks to gvdb_table_write_contents()\n\nI\u0027m not auditing all the public functions in this file for precondition\nchecks, but since I\u0027m adding an async version of this function, it\nmakes sense to ensure there are matching checks for the sync version.\n"
    },
    {
      "commit": "d12c5aaba8f2f6208c3493b42ab15a139c049d58",
      "tree": "f5e902fefe16a209f8726c4b52fb19a6bddc6149",
      "parents": [
        "93ebac014ae8c9de0c5d35b7f4e24110a10c4b31"
      ],
      "author": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@igalia.com",
        "time": "Thu Jun 20 18:15:54 2019 -0500"
      },
      "committer": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@igalia.com",
        "time": "Fri Jun 21 10:04:49 2019 -0500"
      },
      "message": "Add gvdb_table_write_contents_async()\n\nThis is just an async version of gvdb_table_write_contents().\n\nFuture work: someone could write an async version of gvdb_table_new(),\nthen sync I/O would no longer be required to construct a GvdbTable.\n"
    },
    {
      "commit": "93ebac014ae8c9de0c5d35b7f4e24110a10c4b31",
      "tree": "09ddf57178b792ceae4fed7e4372d7791b079633",
      "parents": [
        "25942f0176bcd10dbae598be07d207d214711f06",
        "05b0bb5fa59c75656d42c2e486d73b4f9a002e35"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri Jun 21 10:10:14 2019 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Fri Jun 21 10:10:14 2019 +0000"
      },
      "message": "Merge branch \u0027mcatanzaro/license\u0027 into \u0027master\u0027\n\nAdd COPYING file to indicate the license\n\nSee merge request GNOME/gvdb!5"
    },
    {
      "commit": "05b0bb5fa59c75656d42c2e486d73b4f9a002e35",
      "tree": "09ddf57178b792ceae4fed7e4372d7791b079633",
      "parents": [
        "25942f0176bcd10dbae598be07d207d214711f06"
      ],
      "author": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@posteo.net",
        "time": "Thu Jun 20 23:23:20 2019 +0000"
      },
      "committer": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@posteo.net",
        "time": "Thu Jun 20 23:23:20 2019 +0000"
      },
      "message": "Add COPYING file to indicate the license"
    },
    {
      "commit": "25942f0176bcd10dbae598be07d207d214711f06",
      "tree": "2ac77010a70bd55eae506d3cc1cba7f67689b9ad",
      "parents": [
        "1fb31a16c306e3101c04074070ae1a154801d260",
        "7bf49c8df7858dd6df6f9b9312327d7a1e015573"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon Feb 25 12:39:06 2019 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "philip@tecnocode.co.uk",
        "time": "Mon Feb 25 12:39:06 2019 +0000"
      },
      "message": "Merge branch \u0027array-size\u0027 into \u0027master\u0027\n\nFix size of preallocated array\n\nSee merge request GNOME/gvdb!3"
    },
    {
      "commit": "7bf49c8df7858dd6df6f9b9312327d7a1e015573",
      "tree": "2ac77010a70bd55eae506d3cc1cba7f67689b9ad",
      "parents": [
        "1fb31a16c306e3101c04074070ae1a154801d260"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Mon Feb 25 12:36:43 2019 +0000"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Mon Feb 25 12:38:08 2019 +0000"
      },
      "message": "Fix size of preallocated array\n\nCommit 084e1d868 added a preallocation to an array to avoid\nreallocations later on, but neglected the fact that after N insertions\ninto the array, there’s always a NULL terminator added to the end. Fix\nthe preallocation to include that NULL terminator.\n\nThis doesn’t change the correctness of the code, but should eliminate\none reallocation.\n\nSpotted by Sebastian Dröge. See\nhttps://gitlab.gnome.org/GNOME/glib/merge_requests/674.\n\nSigned-off-by: Philip Withnall \u003cwithnall@endlessm.com\u003e\n"
    },
    {
      "commit": "1fb31a16c306e3101c04074070ae1a154801d260",
      "tree": "27dbd4d2f6cf88dd0f91511c5e5713b7192c8316",
      "parents": [
        "2d462bf661d768a157eb2f4ac6a28f7ee9e26c89",
        "e1bcd7529e534f4f33b1564243fb5fe56a2ba13c"
      ],
      "author": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@posteo.net",
        "time": "Wed Nov 21 16:48:01 2018 +0000"
      },
      "committer": {
        "name": "Michael Catanzaro",
        "email": "mcatanzaro@posteo.net",
        "time": "Wed Nov 21 16:48:01 2018 +0000"
      },
      "message": "Merge branch \u0027wip/lantw/use-weak-symbols-in-gvdb\u0027 into \u0027master\u0027\n\nbuild: Use weak bindings in gvdb to fix linking with LLD\n\nCloses dconf#47\n\nSee merge request GNOME/gvdb!2"
    },
    {
      "commit": "e1bcd7529e534f4f33b1564243fb5fe56a2ba13c",
      "tree": "27dbd4d2f6cf88dd0f91511c5e5713b7192c8316",
      "parents": [
        "2d462bf661d768a157eb2f4ac6a28f7ee9e26c89"
      ],
      "author": {
        "name": "Ting-Wei Lan",
        "email": "lantw@src.gnome.org",
        "time": "Wed Oct 24 21:46:16 2018 +0800"
      },
      "committer": {
        "name": "Ting-Wei Lan",
        "email": "lantw@src.gnome.org",
        "time": "Thu Nov 22 00:38:09 2018 +0800"
      },
      "message": "build: Use weak bindings in gvdb to fix linking with LLD\n\nSince tests/dconf-mock-gvdb.c has functions conflicting with the real\ngvdb and it is intended for the former to override the latter in tests,\nwe have to make functions in gvdb library have weak bindings instead of\nthe default strong bindings to avoid duplicate symbol errors.\n\nFixes https://gitlab.gnome.org/GNOME/dconf/issues/47\n"
    },
    {
      "commit": "2d462bf661d768a157eb2f4ac6a28f7ee9e26c89",
      "tree": "7dc150f3af42667e7e374a292833d9f77a32f6d0",
      "parents": [
        "57962aac85a41f554e14da14906a3ba0bd8f9156",
        "084e1d868081481cd5dcad5e721714e9037ecb52"
      ],
      "author": {
        "name": "Georges Basile Stavracas Neto",
        "email": "georges.stavracas@gmail.com",
        "time": "Thu Aug 16 15:13:18 2018 +0000"
      },
      "committer": {
        "name": "Georges Basile Stavracas Neto",
        "email": "georges.stavracas@gmail.com",
        "time": "Thu Aug 16 15:13:18 2018 +0000"
      },
      "message": "Merge branch \u00271454-follow-ups\u0027 into \u0027master\u0027\n\nMinor API fixes\n\nSee merge request GNOME/gvdb!1"
    },
    {
      "commit": "084e1d868081481cd5dcad5e721714e9037ecb52",
      "tree": "7dc150f3af42667e7e374a292833d9f77a32f6d0",
      "parents": [
        "a44329c2442ff45d31fe7a0ca45005f145df3187"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Thu Aug 16 15:44:09 2018 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Thu Aug 16 15:44:09 2018 +0100"
      },
      "message": "Preallocate a GPtrArray to avoid some reallocations later on\n\nSuggested by Georges Basile Stavracas Neto.\n\nSigned-off-by: Philip Withnall \u003cwithnall@endlessm.com\u003e\n"
    },
    {
      "commit": "a44329c2442ff45d31fe7a0ca45005f145df3187",
      "tree": "8c8f6479536b68fbd69502cffcf9d17a96cd9551",
      "parents": [
        "7bed7ea77dfd2634d3fceaafaacd9764bf76e709"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Thu Aug 16 15:36:32 2018 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Thu Aug 16 15:36:32 2018 +0100"
      },
      "message": "Fix type of length returned by gvdb_table_get_names()\n\nIt should not be unsigned. The type in the on-disk format is gint32, so\nwe need to return something at least as wide as that. However, we\nshould not expose the implementation detail that the on-disk format is\nspecifically gint32. Use a gsize, since that’s the normal type for array\nlengths — but check that we’re not on a platform where (somehow) gsize\nis smaller than gint32.\n\nSigned-off-by: Philip Withnall \u003cwithnall@endlessm.com\u003e\n"
    },
    {
      "commit": "7bed7ea77dfd2634d3fceaafaacd9764bf76e709",
      "tree": "d744e33071e3e065cdc13616d0c38d3888dec1ee",
      "parents": [
        "57962aac85a41f554e14da14906a3ba0bd8f9156"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Thu Aug 16 15:36:10 2018 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Thu Aug 16 15:36:10 2018 +0100"
      },
      "message": "Add missing introspection annotations to gvdb_table_get_names()\n\nSigned-off-by: Philip Withnall \u003cwithnall@endlessm.com\u003e\n"
    },
    {
      "commit": "57962aac85a41f554e14da14906a3ba0bd8f9156",
      "tree": "da0887918cd9878dc81b389e148459419f7e425b",
      "parents": [
        "d2f0461ec0e548ab659d247599846d16741a1e5d"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Mon Aug 13 14:27:46 2018 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Mon Aug 13 14:34:19 2018 +0100"
      },
      "message": "docs: Clarify error values for empty files when loading\n\nSigned-off-by: Philip Withnall \u003cwithnall@endlessm.com\u003e\n"
    },
    {
      "commit": "d2f0461ec0e548ab659d247599846d16741a1e5d",
      "tree": "22b3eed36a9d829c225d81f2627828b7183d1758",
      "parents": [
        "c78664e101cd46e10d59be83703ade46b5d4c8e5"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Mon Aug 13 14:27:07 2018 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Mon Aug 13 14:34:19 2018 +0100"
      },
      "message": "docs: Use ‘Returns:’ instead of the invalid ‘@returns’\n\nThis is based on the commit 59a24ab5a3 in GLib.\n\nSigned-off-by: Philip Withnall \u003cwithnall@endlessm.com\u003e\n"
    },
    {
      "commit": "c78664e101cd46e10d59be83703ade46b5d4c8e5",
      "tree": "e8d4914ab63f793f1eaab96611ce12b05c124846",
      "parents": [
        "4763db8a4c4a4f8e4fcfc9aefda082b273978a92"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Mon Aug 13 14:22:53 2018 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Mon Aug 13 14:34:19 2018 +0100"
      },
      "message": "Update FSF’s address\n\n(This is based on commit 892fc2e4 from dconf.)\n\nSigned-off-by: Philip Withnall \u003cwithnall@endlessm.com\u003e\n"
    },
    {
      "commit": "4763db8a4c4a4f8e4fcfc9aefda082b273978a92",
      "tree": "8c2b259e78cf0637101a51c9a95d7119a256b1dc",
      "parents": [
        "7fd9f61dbdbe4b0a05c7c66267f06119a16e869a"
      ],
      "author": {
        "name": "Sébastien Wilmet",
        "email": "swilmet@gnome.org",
        "time": "Fri May 26 16:08:19 2017 +0200"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Mon Aug 13 14:34:19 2018 +0100"
      },
      "message": "gio/gvdb/: LGPLv2+ -\u003e LGPLv2.1+\n\nhttps://bugzilla.gnome.org/show_bug.cgi?id\u003d776504\n"
    },
    {
      "commit": "7fd9f61dbdbe4b0a05c7c66267f06119a16e869a",
      "tree": "9074cd1ce451c085d1a90a93ff3c5ad76cb924cc",
      "parents": [
        "355228121e7656b1c48fd96fa4bcccc0d14161ae"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Mon Aug 13 14:13:28 2018 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Mon Aug 13 14:34:19 2018 +0100"
      },
      "message": "Avoid calling Standard C string/array functions with NULL arguments\n\nglibc string.h declares memcpy() with attribute(nonnull(1,2)), causing\ncalls with NULL arguments to be treated as undefined behaviour.\nThis is consistent with ISO C99 and C11, which state that passing 0\nto string functions as an array length does not remove the requirement\nthat the pointer to the array is a valid pointer.\ngcc -fsanitize\u003dundefined catches this while running OSTree\u0027s test suite.\n\nSimilarly, running the GLib test suite reports similar issues for\nqsort(), memmove(), memcmp().\n\n(This is a partial cherry-pick of commit e5ed410c8c0fe823883 from GLib.)\n\nSigned-off-by: Simon McVittie \u003csmcv@debian.org\u003e\nBug: https://bugzilla.gnome.org/show_bug.cgi?id\u003d775510\nReviewed-by: Colin Walters\n"
    },
    {
      "commit": "355228121e7656b1c48fd96fa4bcccc0d14161ae",
      "tree": "ae6dab8021e057e02bf9be1a8af815c7c6da10c5",
      "parents": [
        "26000821510c66713feacb8b40c1ed5253195a53"
      ],
      "author": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Mon Aug 13 14:29:51 2018 +0100"
      },
      "committer": {
        "name": "Philip Withnall",
        "email": "withnall@endlessm.com",
        "time": "Mon Aug 13 14:29:51 2018 +0100"
      },
      "message": "doap: Update maintainers list to synchronise with GLib\n\nGVDB is essentially part of GLib, so should have the same maintainer\nlist.\n\nAt least this way, it’s not just maintained by one absentee maintainer.\n\nSigned-off-by: Philip Withnall \u003cwithnall@endlessm.com\u003e\n"
    },
    {
      "commit": "26000821510c66713feacb8b40c1ed5253195a53",
      "tree": "b966afc6dd04335e8cfa39d36550097fc5ec6558",
      "parents": [
        "fc37611a97605938949d50374f61e2a81a9d1ae4"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Tue Oct 23 17:34:13 2012 +0200"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Fri Nov 09 13:19:13 2012 -0500"
      },
      "message": "reader: embrace GBytes\n\nDrop gvdb_table_new_from_data() and add gvdb_table_new_from_bytes().\n\nSince the underlying backingstore of a GvdbTable is now always\nrefcounted, drop the refcounting on GvdbTable itself.\n"
    },
    {
      "commit": "fc37611a97605938949d50374f61e2a81a9d1ae4",
      "tree": "53fe57f5631f0e80f570e886e3231adffae70c76",
      "parents": [
        "d9577f100bf44f7d3e38b6800a470c46d96a9f50"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Mon Jul 09 15:23:39 2012 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Mon Jul 09 15:28:17 2012 -0400"
      },
      "message": "gvdb-reader: drop gvdb_table_walk()\n\nThe attempt at the simple method for preventing unbounded recursion\nproved to be insufficient due to the existence of dconf databases in the\nwild that violated the rule (leading to the entire content of the\ndatabase being scrapped).  It also still had the ugly assert for less\nthan 64 levels of recursion that could have been hit by a determined\nadvisary.\n\ngvdb_table_get_names() allows the dconf-service to do everything it\nneeds without the troubles associated with the walk approach.\n"
    },
    {
      "commit": "d9577f100bf44f7d3e38b6800a470c46d96a9f50",
      "tree": "29b6b18e6643bd926c2019c1b6467e4ef5fb2561",
      "parents": [
        "82cbc59297f08865e38c5527954ae4c4e27cc0e1"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Mon Jul 09 14:32:22 2012 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Mon Jul 09 14:32:22 2012 -0400"
      },
      "message": "gvdb-reader.c: add gvdb_table_get_names()\n\nThis function lists off all names that appear within a particular hash.\n"
    },
    {
      "commit": "82cbc59297f08865e38c5527954ae4c4e27cc0e1",
      "tree": "305820939f9c7211600372204e1443174375e527",
      "parents": [
        "374cb1bc87a64efe48f3aac2b0c71c395792d42d"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Sun Jul 08 10:44:05 2012 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Sun Jul 08 10:44:05 2012 -0400"
      },
      "message": "remove a stray variable\n\nThis was used to implement a much more complicated check which was\ndismissed in favour of the simple \u0027must follow in file\u0027 approach.\n"
    },
    {
      "commit": "374cb1bc87a64efe48f3aac2b0c71c395792d42d",
      "tree": "d529d3fad6ef5e740d0f8971451f437a812a76dc",
      "parents": [
        "a9551ccf92fb046a92573fb4a5b42a4d43e2abec"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Fri Jul 06 21:42:04 2012 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Fri Jul 06 21:42:04 2012 -0400"
      },
      "message": "gvdb-reader: robustness improvements\n\nImprove the robustness of gvdb-reader in two ways.\n\nFirst: ensure that the result of gvdb_table_has_value() always agrees\nwith gvdb_table_get_value().  Those two could disagree in the case that\nthe value was recorded as existing but pointed to an out-of-bounds\nregion.\n\nSecond: prevent gvdb_table_walk() from getting stuck in finite loops due\nto self-referential directories.\n"
    },
    {
      "commit": "a9551ccf92fb046a92573fb4a5b42a4d43e2abec",
      "tree": "e7970fa1c60626a03cb57e4bac2595245559db10",
      "parents": [
        "ae3d42c60fe0f0f2be06b68b67a1a6bd795fec5d"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Thu Jul 05 23:14:55 2012 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Thu Jul 05 23:14:55 2012 -0400"
      },
      "message": "more whitespace fixes\n"
    },
    {
      "commit": "ae3d42c60fe0f0f2be06b68b67a1a6bd795fec5d",
      "tree": "6889bfc3f9748d9a503062408e3303d333fffe40",
      "parents": [
        "4e77b52ad8fd5342978fd8be6aff19f13beda0ef"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Thu Jul 05 19:17:44 2012 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Thu Jul 05 19:24:46 2012 -0400"
      },
      "message": "gvdb-reader: refuse to open file with small header\n\nClean up the logic for dealing with invalid headers and include the case\nwhere the file is too small to contain a fully-formed header.\n"
    },
    {
      "commit": "4e77b52ad8fd5342978fd8be6aff19f13beda0ef",
      "tree": "5842e7b86ff694f6959c432285dc8aa01569b7c6",
      "parents": [
        "7683c2b7968126c5d9c1a0163b69d7acaa7f0a53"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Thu Jul 05 19:13:58 2012 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Thu Jul 05 19:13:58 2012 -0400"
      },
      "message": "gvdb-reader: correct whitespace damage\n"
    },
    {
      "commit": "7683c2b7968126c5d9c1a0163b69d7acaa7f0a53",
      "tree": "7e0dd80b93518acb46107ec556dd6c10dcc5f41e",
      "parents": [
        "73acf016185f323a8caa268b53284621d805fb15"
      ],
      "author": {
        "name": "Colin Walters",
        "email": "walters@verbum.org",
        "time": "Thu Mar 08 11:26:49 2012 -0500"
      },
      "committer": {
        "name": "Colin Walters",
        "email": "walters@verbum.org",
        "time": "Thu Mar 08 11:30:03 2012 -0500"
      },
      "message": "builder: Note don\u0027t actually implement bloom filters\n"
    },
    {
      "commit": "73acf016185f323a8caa268b53284621d805fb15",
      "tree": "dc8ebafd166b690ac79975af47942a5c4bbda387",
      "parents": [
        "d1f6300363bb8afc5f7f1e54663a7201587bcd41"
      ],
      "author": {
        "name": "Alexander Larsson",
        "email": "alexl@redhat.com",
        "time": "Fri Jan 13 15:59:56 2012 +0100"
      },
      "committer": {
        "name": "Alexander Larsson",
        "email": "alexl@redhat.com",
        "time": "Fri Jan 13 15:59:56 2012 +0100"
      },
      "message": "Support creating a GvdbReader from data\n\nThis is needed for the glib resource work.\n"
    },
    {
      "commit": "d1f6300363bb8afc5f7f1e54663a7201587bcd41",
      "tree": "ce3fd76b0ba58fce87345017e6817cbb85fd2800",
      "parents": [
        "92652ac79177bcdced5f01122debb50eabdb3e2c"
      ],
      "author": {
        "name": "Murray Cumming",
        "email": "murrayc@murrayc.com",
        "time": "Fri Jan 13 09:21:46 2012 +0100"
      },
      "committer": {
        "name": "Alexander Larsson",
        "email": "alexl@redhat.com",
        "time": "Fri Jan 13 09:23:06 2012 +0100"
      },
      "message": "Docs: Changed can not to cannot.\n\nThis is a backport from the glib commit 30fdc1a79938540af7bad0af68d0a3b8af14f117\n"
    },
    {
      "commit": "92652ac79177bcdced5f01122debb50eabdb3e2c",
      "tree": "5ba761e3661af847ee328a281b8f684f7ed338e6",
      "parents": [
        "a5dd6fcc4f46a322cc547a5fcfa1b52cbc5ec6d6"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Mon Sep 12 08:06:13 2011 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Mon Sep 12 08:12:44 2011 -0400"
      },
      "message": "hashing: always use signed chars\n\nOur hashing of non-ASCII strings was undefined due to the fact that\n\u0027char\u0027 is signed on some platforms, unsigned on others.  Always use a\nsigned char.\n\nDiscovered by Alexander Larsson.\n\nhttps://bugzilla.gnome.org/show_bug.cgi?id\u003d658806\n"
    },
    {
      "commit": "a5dd6fcc4f46a322cc547a5fcfa1b52cbc5ec6d6",
      "tree": "dd3a6da7ccef8ba707d11401dc46797ff5df436b",
      "parents": [
        "3812559659e645be223e34f12040c2d58fdc875c"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Fri Apr 15 09:27:38 2011 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Fri Apr 15 09:27:38 2011 -0400"
      },
      "message": "builder: do not include \u003cunistd.h\u003e on win32\n\nSpotted by Kean Johnston \u003ckean.johnston@gmail.com\u003e.\n\nhttps://mail.gnome.org/archives/gtk-devel-list/2011-April/msg00010.html\n"
    },
    {
      "commit": "3812559659e645be223e34f12040c2d58fdc875c",
      "tree": "d14349d27ad29fba431cfae1ce018bb122f867ee",
      "parents": [
        "03b6b9fb9775387c3ec5eedb9e5d2152d6468147"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Thu Feb 03 17:26:51 2011 -0500"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Thu Feb 03 17:26:51 2011 -0500"
      },
      "message": "Remove unused variable in gvdb-reader\n\nAs originally committed against dconf by Owen.\n\nNewer GCC flags this.\n"
    },
    {
      "commit": "03b6b9fb9775387c3ec5eedb9e5d2152d6468147",
      "tree": "f5b3436c7685d8b2a5d72ba2f413edd096dc6b84",
      "parents": [
        "a2918d6c3e676e2656a87b5a5ee974dc5777eb59"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Tue Jan 25 18:26:21 2011 -0500"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Tue Jan 25 18:26:21 2011 -0500"
      },
      "message": "Mark a symbol as G_GNUC_INTERNAL\n"
    },
    {
      "commit": "a2918d6c3e676e2656a87b5a5ee974dc5777eb59",
      "tree": "13b82f91f2b5a708509bb9ed33903c03fb70e62a",
      "parents": [
        "ba5619ba7f69025f40bf5e77d667a2a84b61d1a7"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Mon Jan 17 15:17:34 2011 -0500"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Mon Jan 17 15:19:14 2011 -0500"
      },
      "message": "Fix some harmless sign compare warnings\n"
    },
    {
      "commit": "ba5619ba7f69025f40bf5e77d667a2a84b61d1a7",
      "tree": "34e743e60075be41841d9e175acbfb4c2ff06edb",
      "parents": [
        "92c22e7ca78670e35df9150169f6837c1dc1d99b"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Mon Jan 17 15:15:46 2011 -0500"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Mon Jan 17 15:15:46 2011 -0500"
      },
      "message": "C++ify the reader header\n"
    },
    {
      "commit": "92c22e7ca78670e35df9150169f6837c1dc1d99b",
      "tree": "a9cfc9bb67d3e2d6a279da7a50097323cec6c653",
      "parents": [
        "814c0fcaafd42c622634c7b6a34c126210b17fc2"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Wed Dec 15 11:36:14 2010 -0500"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Wed Dec 15 11:36:14 2010 -0500"
      },
      "message": "Fix some leaks in the GVDB builder\n"
    },
    {
      "commit": "814c0fcaafd42c622634c7b6a34c126210b17fc2",
      "tree": "f0d1299c8caa049264b17d2b790f31c5c914c2b5",
      "parents": [
        "e5e491c96946ec6ff6809e4b2b757b1f2d497867"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Tue Dec 07 01:06:33 2010 -0500"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Tue Dec 07 01:36:09 2010 -0500"
      },
      "message": "Pass name_length to walk close function\n\nFor efficiency and safety.  This way we don\u0027t need to scan backwards for\nthe path separator (trusting that we will find it properly).\n"
    },
    {
      "commit": "e5e491c96946ec6ff6809e4b2b757b1f2d497867",
      "tree": "429aab3c79191428f93114e39fab1183f1b3f0fb",
      "parents": [
        "a35852bda37400bb4f7c6ee3a3184dde65fadb1f"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Sun Oct 03 22:54:03 2010 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Sun Oct 03 23:02:45 2010 -0400"
      },
      "message": "Add gvdb_table_get_raw_value() API for GSettings\n"
    },
    {
      "commit": "a35852bda37400bb4f7c6ee3a3184dde65fadb1f",
      "tree": "921c5e9407105f09e434532357ff8b8ac131acb4",
      "parents": [
        "d63f199d921b2444e25bc9f39cc12a84ad9695b5"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Sun Oct 03 21:10:35 2010 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Sun Oct 03 21:10:35 2010 -0400"
      },
      "message": "Fix reader on big endian\n\nSome of the hashtable code was failing to byteswap properly.\n"
    },
    {
      "commit": "d63f199d921b2444e25bc9f39cc12a84ad9695b5",
      "tree": "b13d5ddaa7342781b4618a164d205b8f3aae072d",
      "parents": [
        "df40747190a0fff4582c84b101f74e5da91f8f72"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Sun Jul 18 21:43:18 2010 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Sun Jul 18 21:43:18 2010 -0400"
      },
      "message": "Fix is_valid() API\n\nActually dereference the pointer instead of just checking for NULL\n"
    },
    {
      "commit": "df40747190a0fff4582c84b101f74e5da91f8f72",
      "tree": "e4a9e3d1eb24b14aa688b46a29be863b9b00c3fa",
      "parents": [
        "afea703422001cbbe8bbd2e13842008a482cd9ae"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Sun Jul 18 20:45:37 2010 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Sun Jul 18 20:45:37 2010 -0400"
      },
      "message": "Add gvdb_table_is_valid() API\n\nChecks that the on-disk file is still valid.\n"
    },
    {
      "commit": "afea703422001cbbe8bbd2e13842008a482cd9ae",
      "tree": "b24b3d6b566e172ad08c995bcdec14f3c575e22c",
      "parents": [
        "9a8cba9eb53f105b752aac7bb16c7c83c6617caf"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Thu Jun 10 15:27:46 2010 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Thu Jun 10 15:27:46 2010 -0400"
      },
      "message": "Implement byteswapping in the reader\n"
    },
    {
      "commit": "9a8cba9eb53f105b752aac7bb16c7c83c6617caf",
      "tree": "7b6e39c2b5c74951ff50ad23edfde954868f76b8",
      "parents": [
        "5215d4b6d316c9357b832c84aae4c4d756224b5d"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Thu Jun 10 13:34:56 2010 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Thu Jun 10 13:34:56 2010 -0400"
      },
      "message": "drop \"options\" support\n"
    },
    {
      "commit": "5215d4b6d316c9357b832c84aae4c4d756224b5d",
      "tree": "750c9bbfe5104bd1365cd58f09010ef9a4b5925e",
      "parents": [
        "daa1a73c752e66d53de6016a9baa2be14d59af61"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Wed Apr 28 12:39:02 2010 -0500"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Wed Apr 28 12:39:02 2010 -0500"
      },
      "message": "Add API for dconf\u0027s sake.\n"
    },
    {
      "commit": "daa1a73c752e66d53de6016a9baa2be14d59af61",
      "tree": "ebe7c90c143ac4ed4a214693d86bfed75cbd6507",
      "parents": [
        "291a5c9ed98cf5456c8d6af0c3113610646de7b3"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Thu Apr 22 15:44:54 2010 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Thu Apr 22 15:45:47 2010 -0400"
      },
      "message": "Add a missing \u0027static\u0027 on internal functions\n"
    },
    {
      "commit": "291a5c9ed98cf5456c8d6af0c3113610646de7b3",
      "tree": "eba11a7491116308b50f7983e42a936aa993981c",
      "parents": [
        "2d9811ebdaee294ac9a1826db5be891b2b90d67f"
      ],
      "author": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Tue Apr 20 20:12:41 2010 -0400"
      },
      "committer": {
        "name": "Ryan Lortie",
        "email": "desrt@desrt.ca",
        "time": "Tue Apr 20 20:12:41 2010 -0400"
      },
      "message": "__value -\u003e value to avoid stomping the C compiler\n"
    }
  ],
  "next": "2d9811ebdaee294ac9a1826db5be891b2b90d67f"
}
