)]}'
{
  "commit": "00e1608501a0eb270df80a31f0dd0b327b202059",
  "tree": "42c1c49a92dcdfe9a406f31f9adc8ea50ac8c666",
  "parents": [
    "da5b17c0a2c648c60272f92c9ecbcd10f4af8348"
  ],
  "author": {
    "name": "Stefan Tauner",
    "email": "stefan.tauner@alumni.tuwien.ac.at",
    "time": "Mon Apr 01 00:45:38 2013 +0000"
  },
  "committer": {
    "name": "Stefan Tauner",
    "email": "stefan.tauner@alumni.tuwien.ac.at",
    "time": "Mon Apr 01 00:45:38 2013 +0000"
  },
  "message": "Replace sp_sync_read_timeout() with serialport_read_nonblock()\n\nIt seems useful to have a generic and platform-independent method to\nread and write to a serial port without blocking. This is the read part.\n\nIt stores the current blocking properties before disabling blocking and\nrestores them after reading. The timeout is implemented as previously\nby retrying every millisecond until the timeout is reached or enough\ncharacters are available.\n\nCorresponding to flashrom svn r1661.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b10f56894a67f4c0fe0f9c44e7e53118112176f9",
      "old_mode": 33188,
      "old_path": "programmer.h",
      "new_id": "c36b452f15ed2384b2bdaf8d770658dc7139b3f6",
      "new_mode": 33188,
      "new_path": "programmer.h"
    },
    {
      "type": "modify",
      "old_id": "9a759aea38fa7465e04cbdbfece8e8e8796799fe",
      "old_mode": 33188,
      "old_path": "serial.c",
      "new_id": "d1e2cea7aab34b81fd026fa6c31e99430ffd7e0f",
      "new_mode": 33188,
      "new_path": "serial.c"
    },
    {
      "type": "modify",
      "old_id": "c36c93d88c9a439d4f3d1b7a70148c27adeb191b",
      "old_mode": 33188,
      "old_path": "serprog.c",
      "new_id": "15d1d1b5dd297a45ebbb5a6f422607a656399850",
      "new_mode": 33188,
      "new_path": "serprog.c"
    }
  ]
}
