)]}'
{
  "log": [
    {
      "commit": "e37ddb82500393cb417c3ab0fe0726d9a8652372",
      "tree": "6ecc94992cb5affad4fe438d9b586a61b803f928",
      "parents": [
        "01762c4ec5f6f62c550304b9c70e824293cefdd0"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Feb 03 23:57:09 2011 +0100"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Mar 17 15:13:56 2011 +0100"
      },
      "message": "genksyms: Track changes to enum constants\n\nEnum constants can be used as array sizes; if the enum itself does not\nappear in the symbol expansion, a change in the enum constant will go\nunnoticed. Example patch that changes the ABI but does not change the\nchecksum with current genksyms:\n\n| enum e {\n|\tE1,\n|\tE2,\n|+\tE3,\n|\tE_MAX\n| };\n|\n| struct s {\n|\tint a[E_MAX];\n| }\n|\n| int f(struct s *s) { ... }\n| EXPORT_SYMBOL(f)\n\nTherefore, remember the value of each enum constant and\nexpand each occurence to \u003cconstant\u003e \u003cvalue\u003e. The value is not actually\ncomputed, but instead an expression in the form\n(last explicitly assigned value) + N\nis used. This avoids having to parse and semantically understand whole\nof C.\n\nNote: The changes won\u0027t take effect until the lexer and parser are\nrebuilt by the next patch.\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "01762c4ec5f6f62c550304b9c70e824293cefdd0",
      "tree": "4a457cec48321f5b591966e56ddaea33733df5cc",
      "parents": [
        "68eb8563a1adf27fae18dde4c95fb796c17563df"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Tue Feb 15 15:11:36 2011 +0100"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Mar 17 15:13:55 2011 +0100"
      },
      "message": "genksyms: simplify usage of find_symbol()\n\nAllow searching for symbols of an exact type. The lexer does this and a\nsubsequent patch will add one more usage.\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "95f1d639ade8fdf9572ac8a926f62b29dd66eaba",
      "tree": "9b8864def448176b950e1f747d33b5e7439ef429",
      "parents": [
        "9c281f13b68da49764cbc8d7d610c2f229a0f9a0"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Jan 20 16:19:58 2011 +0100"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Mar 17 15:13:55 2011 +0100"
      },
      "message": "genksyms: Simplify lexer\n\nThe V2_TOKENS state is active all the time.\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "11ddad396086f8d1dfcb0056dc9d65d228f755c1",
      "tree": "6d2ebc9fab7ca8aa1a9eb4245c323df2515756e1",
      "parents": [
        "be2be1d59035a28debb22555f103e676a8f74186"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Thu Jul 17 02:08:12 2008 +0300"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jul 30 22:31:02 2008 +0200"
      },
      "message": "kbuild: scripts/genksyms/lex.l: add %option noinput\n\ngcc 4.3 correctly determines that input() is unused and gives the\nfollowing warning:\n\n\u003c--  snip  --\u003e\n\n...\n  HOSTCC  scripts/genksyms/lex.o\nscripts/genksyms/lex.c:1487: warning: ‘input’ defined but not used\n...\n\n\u003c--  snip  --\u003e\n\nFix it by adding %option noinput to scripts/genksyms/lex.l and\nregeneration of scripts/genksyms/lex.c_shipped.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "6803dc0ea85ad21b2cb3ec88decff5e27d7a390b",
      "tree": "e4041b76ed21bd835018be3e8bbc5e2c1d76ce74",
      "parents": [
        "15fde6751886fd972a64ed65ba49db309919c504"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Sat Jun 24 23:46:54 2006 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Sat Jun 24 23:46:54 2006 +0200"
      },
      "message": "kbuild: replace abort() with exit(1)\n\nWe have had no use of the coredump file for a long time.\nSo just exit(1) and avoid coredumping.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
