)]}'
{
  "log": [
    {
      "commit": "a4797a494ab347c43e36ccc3c86ed9ae3a9e79cc",
      "tree": "f646c535c4fee8da4cc6adae956bc431b95bdcb2",
      "parents": [
        "c5d2cad5d20ae3bc81359f914073bc1759fa26d6"
      ],
      "author": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@chromium.org",
        "time": "Tue Jul 14 00:21:28 2015"
      },
      "committer": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@chromium.org",
        "time": "Tue Jul 14 00:21:28 2015"
      },
      "message": "Sentinel commit pointing at new location in Chromium.\n\nRelated Chromium commit:\nhttps://chromium.googlesource.com/chromium/src.git/+/4a996cdc7a36a71ac511c153375fc6170fea80e6\n"
    },
    {
      "commit": "c5d2cad5d20ae3bc81359f914073bc1759fa26d6",
      "tree": "574c8f97cc19955d0e9916aa7801723b1be92287",
      "parents": [
        "c2326b647f2643b0b635ee105732069aba98f197"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jul 17 17:53:10 2014"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jul 17 17:53:10 2014"
      },
      "message": "revert r333: Chromium is not yet ready to pull current versions of gtest/gmock, since they require C++11\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@335 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "c2326b647f2643b0b635ee105732069aba98f197",
      "tree": "aacef31f87dad74b4620c5c3b932718e53d23d61",
      "parents": [
        "bf728fbf9235e09fdea0bcb37348d8ad785a3d1d"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jul 17 00:03:25 2014"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jul 17 00:03:25 2014"
      },
      "message": "Allow Chromium to build with more MSVC warnings enabled.\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@334 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "bf728fbf9235e09fdea0bcb37348d8ad785a3d1d",
      "tree": "f3755a0a06122ae95c88b96029b940c7fad2f3c3",
      "parents": [
        "e99bff6367d1c7761d3489c2c8406e136ccc5aaf"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jul 17 00:00:44 2014"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jul 17 00:00:44 2014"
      },
      "message": "Cleanup: Use ::testing::{tuple,get,make_tuple} when dealing with tuples in the context of GTest and GMock.\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@333 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "e99bff6367d1c7761d3489c2c8406e136ccc5aaf",
      "tree": "efdf9e57c50f068e95179135ddb6c86c046213fd",
      "parents": [
        "2eb145a8e546d44e55754d556a516ccaae9ef75a"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Jul 16 23:47:17 2014"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Jul 16 23:47:17 2014"
      },
      "message": "Cleaning up remaining misuses of \"squelch\" in our code base.\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@332 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "2eb145a8e546d44e55754d556a516ccaae9ef75a",
      "tree": "edc3607e57462355b9faa392e2ab1354073cf7b4",
      "parents": [
        "3c90c085f7770b859a2a12e2f654bd85424cc950"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Apr 04 16:45:47 2014"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Apr 04 16:45:47 2014"
      },
      "message": "Adding new client types for Chrome Sync GCM.\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@331 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "3c90c085f7770b859a2a12e2f654bd85424cc950",
      "tree": "25117122edee235fd3b5ac0bae7a34ff1de1c7ba",
      "parents": [
        "5be34bcd0d58da1da81926324c41581b31329816"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Feb 28 20:35:08 2014"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Feb 28 20:35:08 2014"
      },
      "message": "add lite runtime option to android_channel.proto\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@330 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "5be34bcd0d58da1da81926324c41581b31329816",
      "tree": "24a76f6dc884910d9aa28168fc6d67405328f8e6",
      "parents": [
        "4f85f725865c5c939cfec7cfeccdde3a0c32a8bc"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 26 19:05:14 2014"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 26 19:05:14 2014"
      },
      "message": "change protocol buffer compiler options in channel_common.proto\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@329 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "4f85f725865c5c939cfec7cfeccdde3a0c32a8bc",
      "tree": "1ead6b0e7365b8b5cf726d356da587200916943d",
      "parents": [
        "e61d025f1c946eafd4b173c51310466f45726405"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Feb 25 23:49:22 2014"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Feb 25 23:49:22 2014"
      },
      "message": "Adding copies of protos for use in C++ cache invalidation.\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@328 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "e61d025f1c946eafd4b173c51310466f45726405",
      "tree": "1e7d52601c67f22ddc11d9f053f354383d6833ab",
      "parents": [
        "1419bfd9917fabb695dfa3b5ac775691ca2d5300"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 05 22:14:23 2014"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 05 22:14:23 2014"
      },
      "message": "update build datestamp\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@326 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "1419bfd9917fabb695dfa3b5ac775691ca2d5300",
      "tree": "f4afd2218d816ce177f6794f487e4c490cb3466f",
      "parents": [
        "8f8a5671a7c289838155a590469cb220391e3b18"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 05 21:32:16 2014"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 05 21:32:16 2014"
      },
      "message": "Revert r322 since Chrome does not yet support unique_ptr\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@325 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "8f8a5671a7c289838155a590469cb220391e3b18",
      "tree": "8ab27332bcbf269ec47af283fc28778d560b72c0",
      "parents": [
        "602a6fcbd5eb4325b21fcc9a43247ada50425479"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 05 01:41:03 2014"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 05 01:41:03 2014"
      },
      "message": "Add channel_common.proto\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@324 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "602a6fcbd5eb4325b21fcc9a43247ada50425479",
      "tree": "597297eb0de1b9e3f0318b46a7fc00a690892463",
      "parents": [
        "b1ebcfc40822757738420bccb32687861ecfe058"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 05 01:33:41 2014"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 05 01:33:41 2014"
      },
      "message": "remove unused mock methods\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@323 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "b1ebcfc40822757738420bccb32687861ecfe058",
      "tree": "2676a394825a097d3c881dfcb1d94b9d6124a0ae",
      "parents": [
        "5233809782e825c85b23b32514fd47914ba606c9"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 05 01:22:39 2014"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 05 01:22:39 2014"
      },
      "message": "Cleanup: Convert from scoped_ptr to std::unique_ptr.\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@322 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "5233809782e825c85b23b32514fd47914ba606c9",
      "tree": "9259feb19867fb3b34fa0cb9ff916bc7ff62a061",
      "parents": [
        "1da7e10147c0e055b2d35224335f44b455ce8170"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Aug 12 20:32:09 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Aug 12 20:32:09 2013"
      },
      "message": "update build timestamp for 8/2013 release\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@312 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "1da7e10147c0e055b2d35224335f44b455ce8170",
      "tree": "0ac590202e321c7614c3df4607a40d462608b8af",
      "parents": [
        "29a1b1d6b895aa630f5cab8e358479977865aedb"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Aug 12 20:15:37 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Aug 12 20:15:37 2013"
      },
      "message": "split ::using declarations for RepeatedField into a separate header\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@311 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "29a1b1d6b895aa630f5cab8e358479977865aedb",
      "tree": "c9e7fe888cadcc7f3ab64d1f13f6ff98c608ab15",
      "parents": [
        "94d97ae5406c71e8dd7da77b5463e80fc8d852b9"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Jun 05 17:11:56 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Jun 05 17:11:56 2013"
      },
      "message": "update version datestamp for June 2013 release\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@307 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "94d97ae5406c71e8dd7da77b5463e80fc8d852b9",
      "tree": "bf5b8970ecb0b9341fd6b88fc61884de97580a24",
      "parents": [
        "fe15248e13ae3cc215b12cc10194b3f7e59bae9f"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue May 07 18:17:49 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue May 07 18:17:49 2013"
      },
      "message": "roll forward now that Chrome change has been committed\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@305 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "fe15248e13ae3cc215b12cc10194b3f7e59bae9f",
      "tree": "8a2135905fc0ca068bcf41625db1ee0b1ee2ed26",
      "parents": [
        "afb3d822b131ad4c446f85900f29f30b10aefe98"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue May 07 04:58:42 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue May 07 04:58:42 2013"
      },
      "message": "rollback of recent changes so Android is not blocked on a Chrome commit\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@304 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "afb3d822b131ad4c446f85900f29f30b10aefe98",
      "tree": "bf5b8970ecb0b9341fd6b88fc61884de97580a24",
      "parents": [
        "a149a63b4aeace96510619bb022721c48d1767fd"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri May 03 00:36:31 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri May 03 00:36:31 2013"
      },
      "message": "cast RandUint64 to int64 to avoid ambiguous overload\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@302 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "a149a63b4aeace96510619bb022721c48d1767fd",
      "tree": "da502cfbb4b3a0510dd47d1b460d1ee199b62781",
      "parents": [
        "e3f490c3b0261c00b1a865b0bb1fc5e064f7bdcd"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu May 02 23:18:50 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu May 02 23:18:50 2013"
      },
      "message": "add a RandUint64, use that instead of multiplying a double by int64_max\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@301 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "e3f490c3b0261c00b1a865b0bb1fc5e064f7bdcd",
      "tree": "7a26033511de9135e06b6b4fd2e3b2727e2f7074",
      "parents": [
        "d77df4bf21fc897eb350d4798507784265937000"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed May 01 18:35:43 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed May 01 18:35:43 2013"
      },
      "message": "Update build datestamp\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@300 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "d77df4bf21fc897eb350d4798507784265937000",
      "tree": "7d330212dcebe80d6cb4ce22e99a0dc9249d81c4",
      "parents": [
        "dad53c616e3e4a4957d0a4499185434076a45f62"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed May 01 18:28:57 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed May 01 18:28:57 2013"
      },
      "message": "Change the nonce to be a randomly generated string rather than the time in milliseconds.\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@299 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "dad53c616e3e4a4957d0a4499185434076a45f62",
      "tree": "8a2135905fc0ca068bcf41625db1ee0b1ee2ed26",
      "parents": [
        "b077ad0dfebb9c04179563469296f0bbcdf9ef7e"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Apr 03 23:02:43 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Apr 03 23:02:43 2013"
      },
      "message": "add build_constants.h and use it for the client minor version\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@296 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "b077ad0dfebb9c04179563469296f0bbcdf9ef7e",
      "tree": "a1112a989b8cda591e7d54416229cea1c049ec96",
      "parents": [
        "a82b912e6d7e2c45fc1a0d262bd9bd24efd1b567"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Apr 01 22:19:50 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Apr 01 22:19:50 2013"
      },
      "message": "Removing unused includes\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@295 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "a82b912e6d7e2c45fc1a0d262bd9bd24efd1b567",
      "tree": "4f455e351a57716607b2fa5fe62afe160bc4648e",
      "parents": [
        "b929cfe792ebaf159bc1e5c1a8378841584ed12e"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Apr 01 22:14:39 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Apr 01 22:14:39 2013"
      },
      "message": "Replace calls to scoped_ptr(NULL) with calls to scoped_ptr().\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@294 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "b929cfe792ebaf159bc1e5c1a8378841584ed12e",
      "tree": "5ac3670019f4fea3b5823d5f36809aa14415925a",
      "parents": [
        "6c7d6bae30fb37ee48beb2d5009a77095678c960"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Apr 01 22:01:12 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Apr 01 22:01:12 2013"
      },
      "message": "Remove start-related preconditions check from InvalidationClientCore. Issue a\ntransient registration failure if registrations are requested before the client\nis ready.\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@293 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "6c7d6bae30fb37ee48beb2d5009a77095678c960",
      "tree": "e25acc9981497fe2a35eacaca1a9d0f95fabdd41",
      "parents": [
        "fb51b8af63a73f40333bf0f96d11caf78a85d056"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Mar 21 00:01:26 2013"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Mar 21 00:01:26 2013"
      },
      "message": "Adding client type enum value for Chrome sync iOS client.\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@292 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "fb51b8af63a73f40333bf0f96d11caf78a85d056",
      "tree": "3d844875dab885843219de53a3df44a4afdb8395",
      "parents": [
        "baa838fb261d294168f82b8cab29e128a68f20df"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 27 19:19:49 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 27 19:19:49 2013"
      },
      "message": "Specify the map comparator (ProtoCompareLess) when declaring an iterator\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@284 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "baa838fb261d294168f82b8cab29e128a68f20df",
      "tree": "206d4912d23ea6d9ebabb4944310263dfe1bbfd0",
      "parents": [
        "45017d3cb83a7a6e7678fbcc7ab09bc9b43ce643"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 27 03:57:40 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 27 03:57:40 2013"
      },
      "message": "Move new Ticl factory methods into a class to avoid overloading the old names.\n\nAlso capitalize a couple of function names in the test to conform to C++ style.\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@283 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "45017d3cb83a7a6e7678fbcc7ab09bc9b43ce643",
      "tree": "d82e7164c1293bf13977e23e9088dd4e5ae15639",
      "parents": [
        "09f5efee39efe1a8ca603bd62bfa5aba20029006"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Feb 26 02:03:34 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Feb 26 02:03:34 2013"
      },
      "message": "Remove references to deprecated proto field\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@282 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "09f5efee39efe1a8ca603bd62bfa5aba20029006",
      "tree": "a2e7658f3d97da72c3c1152f056477a6cb144fe3",
      "parents": [
        "48cb51581d66871eada0387837136354f0c347b7"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Feb 25 21:50:20 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Feb 25 21:50:20 2013"
      },
      "message": "Add tests for the InvalidationClientFactory.\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@281 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "48cb51581d66871eada0387837136354f0c347b7",
      "tree": "099d21ef118abd288b283110c1efee5482254e29",
      "parents": [
        "e0a14bce66663c1086ca3f7d72c6df6df1a0fccf"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Feb 25 21:32:29 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Feb 25 21:32:29 2013"
      },
      "message": "Do not issue registration-success upcalls until the server has actually responded.\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@280 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "e0a14bce66663c1086ca3f7d72c6df6df1a0fccf",
      "tree": "65125994d7d9c5066fb2235d0d9d9b717dd8b7ea",
      "parents": [
        "59419052858c2ac296fa33d9d40fc9fff21b486c"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Feb 25 20:58:49 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Feb 25 20:58:49 2013"
      },
      "message": "Implement a TricklesClientFactory:\n- ClientConfigP has a new allow_suppression field which is set to false by the InvalidationClientFactory and to true by the new TricklesClientFactory. \n- If suppression is allowed (the default), then restarted invalidation messages result in an invalidate upcall in InvalidationClientCore.\n- If suppression is not allowed, then restarted invalidation messages result in invalidateUnknownVersion.\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@279 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "59419052858c2ac296fa33d9d40fc9fff21b486c",
      "tree": "546c154fd250da3c7fba3b3d896bbc448b853536",
      "parents": [
        "7ffdcb2b2cc44172d3f40af287027a20dbb70764"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Feb 25 20:52:11 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Feb 25 20:52:11 2013"
      },
      "message": "Deprecate bridge_arrival_time_ms in InvalidationP\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@278 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "7ffdcb2b2cc44172d3f40af287027a20dbb70764",
      "tree": "6d1d9a6e208a1c9b825be2d3f4033bcd01533a72",
      "parents": [
        "b0eaf835e76297a35f7867c3e9becfdc686dd9fa"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Feb 25 20:46:26 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Feb 25 20:46:26 2013"
      },
      "message": "Increase client minor version to 3.\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@277 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "b0eaf835e76297a35f7867c3e9becfdc686dd9fa",
      "tree": "cb657b7b8f35c743e6973774bae78f1b88d2844c",
      "parents": [
        "15a008bb6f51f6b38015b948ef0fd1ce5ec2e423"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Feb 25 20:45:05 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Feb 25 20:45:05 2013"
      },
      "message": "Fixes Ticl session token logic to allow upgrading of session tokens.\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@276 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "15a008bb6f51f6b38015b948ef0fd1ce5ec2e423",
      "tree": "2aaa7180f21555662b9518faa6afffab86f50852",
      "parents": [
        "02c56b8a35f5ac98be53bce0051fa6bc2da89a76"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Feb 25 20:41:17 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Feb 25 20:41:17 2013"
      },
      "message": "Add client type to client header as an optional field.\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@275 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "02c56b8a35f5ac98be53bce0051fa6bc2da89a76",
      "tree": "795865b0ae73f9a18d2bce5566c52fbeb2c9cbcc",
      "parents": [
        "9c40ad3dc60cc8f2701dd52764925d11b09ccaf0"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 18:24:03 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 18:24:03 2013"
      },
      "message": "Remove the three argument overload with isTrickleRestart-- ambiguous implicit conversion of (char *) to bool rather than string\u0026 creates unexpected results.\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@261 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "9c40ad3dc60cc8f2701dd52764925d11b09ccaf0",
      "tree": "42c6e3377233dd8ea752705a4902b0da94b42e35",
      "parents": [
        "33eb15a90cbaed1af9e7317f8eb0162400e43147"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 01:46:54 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 01:46:54 2013"
      },
      "message": "add is_trickle_restart boolean to InvalidationP\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@260 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "33eb15a90cbaed1af9e7317f8eb0162400e43147",
      "tree": "f8460af7ae1c3648922c403907f2ca19d44d8e7d",
      "parents": [
        "f2c83ab25cf7b9c79fc997cb542a36788d602553"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 01:34:42 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 01:34:42 2013"
      },
      "message": "add RunStateP to client.proto\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@259 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "f2c83ab25cf7b9c79fc997cb542a36788d602553",
      "tree": "99337d84ad78a0eea4299af4661c839bb87dd800",
      "parents": [
        "e9e9c7f0ddc1d785b530b01829f9875ea2f59f18"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 01:11:26 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 01:11:26 2013"
      },
      "message": "Add an isTrickleRestart flag to the Invalidation class.  The restarted flag is\ndocumented for internal use only. The flag is required on construction and\npreserved when converting to and from InvalidationP.\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@258 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "e9e9c7f0ddc1d785b530b01829f9875ea2f59f18",
      "tree": "8c0a6e09455cdbf18c1fc7f1ce16b29aa0f34744",
      "parents": [
        "2809577cf33852cac7893b35f0ce2a374d2acc85"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 01:06:54 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 01:06:54 2013"
      },
      "message": "do not stop the Ticl after an AUTH_ERROR error message upcall to the listener\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@257 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "2809577cf33852cac7893b35f0ce2a374d2acc85",
      "tree": "fd96349466d0bd5473a04a292ec115f7b1c1df3f",
      "parents": [
        "c610fd3890422e72dcda03dabf4359dbb499f6a8"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 01:02:18 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 01:02:18 2013"
      },
      "message": "eliminate the enum in RunState and use the proto enum from RunStateP instead\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@256 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "c610fd3890422e72dcda03dabf4359dbb499f6a8",
      "tree": "1d8a069998201128f097a81bdacb203864aebd85",
      "parents": [
        "477ccda870c5522b88c861e56331ac1243c6af1c"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 00:51:27 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 00:51:27 2013"
      },
      "message": "Ports some Java changes to the C++ Ticl.\n\nSpecifically, moves the batching task out of the protocol handler and into\nthe invalidation client core.\n\nOriginal change description:\n\nImplements (un)marshalling of in-memory Ticl state to protocol buffers.\n\nThis CL defines protocol buffers to represent various parts of the Ticl\nin-memory state and adds code to the Java Ticl to (un)marshall to and from\nthem. Additionally, as part of this change, it completes the transition of\nProtocolHandler to a passive class by moving the recurring task for batching\nfrom ProtocolHandler to InvalidationClientCore.\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@255 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "477ccda870c5522b88c861e56331ac1243c6af1c",
      "tree": "630c3aaae1a1d5225b5c1dd837bf5018111f2b03",
      "parents": [
        "4e57eaf6f493103c4bf8c50308f8f213f6ef9ae4"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 00:39:00 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 00:39:00 2013"
      },
      "message": "fix const-\u0026 inconsistency in MessageCallback\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@254 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "4e57eaf6f493103c4bf8c50308f8f213f6ef9ae4",
      "tree": "279ffeab278182ddba7bd6d2afc6b4470b93087d",
      "parents": [
        "9604b4c003b4baaf669695edd7f53c09c8ee2aae"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 00:30:42 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 17 00:30:42 2013"
      },
      "message": "Ports Java Ticl refactoring to C++. This CL also fixes a couple minor nits\ndiscovered in the Ticls while doing the porting.\n\nOriginal change description:\n\nRefactors the Java Ticl to enable the new Android design:\n\n  1. Makes ProtocolHandler a less-active class. Messages are now received by\n     InvalidationClientCore, which makes a call against ProtocolHandler to\n     parse the message and receives back a parsed-messaged object in response.\n\n  2. ProtocolHandler batching functionality is moved into a nested subclass to\n     be more-easily persisted.\n\n  3. InvalidationClientImpl is split into two classes. InvalidationClientCore\n     and InvalidationClientImpl. InvalidationClientCore is the bulk of the old\n     InvalidationClientImpl, containing all of the core logic involved in the\n     Ticl, but no concurrency control. InvalidationClientImpl contains an\n     InvalidationClientCore and adds the concurrency control. Specifically, the\n     model is that ICI can make assertions about which thread it is executing on,\n     and it can use schedulers to schedule events in the future or to enqueue something\n     onto the listener thread, but it never does a schedule(NO_DELAY) on the internal\n     thread. It is the responsibility of the caller to ensure that such calls are made\n     on the internal thread.\n\nThis CL has a large number of lines changed because of the\nInvalidationClientImpl / InvalidationClientCore split; it is not actually that\nbig a change in terms of line count.\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@253 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "9604b4c003b4baaf669695edd7f53c09c8ee2aae",
      "tree": "c5cfafc1f417a2851cbf310e61d7c5c3ef7bfd3d",
      "parents": [
        "2f6771a8cb277ffe3be65c228fedaf8a9f9a8071"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Jan 16 22:42:03 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Jan 16 22:42:03 2013"
      },
      "message": "replace IntToString with SimpleItoa\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@252 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "2f6771a8cb277ffe3be65c228fedaf8a9f9a8071",
      "tree": "6f6440ec815e30f2a0a90d24c48a64b335a69f00",
      "parents": [
        "39b39f416e071b447caaf9e26f258c0152722158"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jan 15 21:50:11 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jan 15 21:50:11 2013"
      },
      "message": "code for tracking invalidation delivery time through the system\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@251 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "39b39f416e071b447caaf9e26f258c0152722158",
      "tree": "23bfd367a69c00fa2a98c19bc6d21348a2ca0b34",
      "parents": [
        "9fe6d72d767654fd09cee78156e157e18c134975"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jan 15 21:34:36 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jan 15 21:34:36 2013"
      },
      "message": "have the Ticl send a heartbeat if the network disconnects and reconnects, unless\nit sent a message recently\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@250 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "9fe6d72d767654fd09cee78156e157e18c134975",
      "tree": "570cec72d9cc8b7d8b45673be14c517c5b5a2d70",
      "parents": [
        "39d323b8c2debfcd2b9bd6306beef70b352acc3c"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jan 15 21:29:44 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jan 15 21:29:44 2013"
      },
      "message": "add last_message_send_time_ms to client.proto and channel_supports_offline_delivery to client_protocol.proto\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@249 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "39d323b8c2debfcd2b9bd6306beef70b352acc3c",
      "tree": "08878da0e7f1109acd1bf39538c8a370b3f1420e",
      "parents": [
        "48b44662b1b892913bc0c9918748693e07bda712"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jan 15 19:39:45 2013"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jan 15 19:39:45 2013"
      },
      "message": "have only one message-sending rate limit (of 3 messages in 5 seconds)\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@248 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "48b44662b1b892913bc0c9918748693e07bda712",
      "tree": "0c31310cc6ca6c5f6e09ca7affe9a19176ddb456",
      "parents": [
        "219f5b499c85324ff4eb2bf7a7a793cb5341b939"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Dec 11 00:14:04 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Dec 11 00:14:04 2012"
      },
      "message": "remove references to unused headers and types not available in the lite protobuf runtime\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@247 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "219f5b499c85324ff4eb2bf7a7a793cb5341b939",
      "tree": "048e0122cf9e24eddd055c9c90997fac54687d1e",
      "parents": [
        "df31c91c80dfd86db25b222cdfd4bb4c1a0f1e80"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Oct 23 19:36:12 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Oct 23 19:36:12 2012"
      },
      "message": "revert r239, since it causes problems for the android build\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@242 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "df31c91c80dfd86db25b222cdfd4bb4c1a0f1e80",
      "tree": "b9462ad5eb1d521d29230eaede82ef37097b27b5",
      "parents": [
        "09e3a4ef957136003868a4c7e6e827eb754c8b5d"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 19 00:56:50 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 19 00:56:50 2012"
      },
      "message": "add a couple of object source constants\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@241 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "09e3a4ef957136003868a4c7e6e827eb754c8b5d",
      "tree": "880c9cc9e6cbde1cec3486eb910f617de0409f91",
      "parents": [
        "bf263892c92d3620cf08673d411738263be92efc"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Oct 16 00:47:20 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Oct 16 00:47:20 2012"
      },
      "message": "Gateway related protos\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@239 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "bf263892c92d3620cf08673d411738263be92efc",
      "tree": "88be3d681dc13e352c6395b212666b767bddcf10",
      "parents": [
        "607d5a1752c975b317fa85f25dfb972fdb3488f8"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 12 21:29:33 2012"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 12 21:29:33 2012"
      },
      "message": "Add DEMO client/object types.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@229 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "607d5a1752c975b317fa85f25dfb972fdb3488f8",
      "tree": "dd366ed96fd0dd210ffbcaece7c991d2fd0da857",
      "parents": [
        "b4e6419886f1e77819fd3251d24f19b2ad677033"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Aug 01 01:09:30 2012"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Aug 01 01:09:30 2012"
      },
      "message": "Adds the CHROME_COMPONENTS enum to the types proto.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@220 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "b4e6419886f1e77819fd3251d24f19b2ad677033",
      "tree": "9915cc9b6a2a2d1bf4482a40f933da2c81372b86",
      "parents": [
        "b6874a1e50bb7c8fe042828b1a0b017efb515365"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sat Jul 21 00:44:14 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sat Jul 21 00:44:14 2012"
      },
      "message": "move protos out of v2/; use relative paths for proto imports\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@219 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "b6874a1e50bb7c8fe042828b1a0b017efb515365",
      "tree": "4f1dac125b77f6f373b033c9053149282dcc3386",
      "parents": [
        "0717535a5c6de6183c6a076fbb029a086b5da266"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jun 05 18:21:50 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jun 05 18:21:50 2012"
      },
      "message": "move the implementation of ownership-transferring callback wrapping into deps/callback.h\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@218 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "0717535a5c6de6183c6a076fbb029a086b5da266",
      "tree": "86e5b33b585d5985d6e476e459ad2ebd7db9a66d",
      "parents": [
        "f21333128a69c2e06c910137784bcce30d589342"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Jun 04 17:54:19 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Jun 04 17:54:19 2012"
      },
      "message": "fix a potential memory leak by properly transferring ownership of inner callback when constructing an outer closure\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@217 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "f21333128a69c2e06c910137784bcce30d589342",
      "tree": "9e90600762daf6212a01e56376e776494d818356",
      "parents": [
        "602261d9f9d290af54a487e0a909e2b29f58fc60"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon May 14 18:21:05 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon May 14 18:21:05 2012"
      },
      "message": "tone down logging when the Ticl receives a message with a mismatching token\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@213 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "602261d9f9d290af54a487e0a909e2b29f58fc60",
      "tree": "fda915c5ced149baf0323cd3ce48d4a37bddf0b4",
      "parents": [
        "c0416c787556ae367b6c5f761430404cbe48c67f"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Mar 13 17:15:44 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Mar 13 17:15:44 2012"
      },
      "message": "fix bad header path in digest-function.h\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@203 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "c0416c787556ae367b6c5f761430404cbe48c67f",
      "tree": "c564758351343838a09206f2a6b755dd17f40209",
      "parents": [
        "70c432a7da812b93e81eddae50a31264b023377e"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sat Mar 10 00:20:25 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sat Mar 10 00:20:25 2012"
      },
      "message": "fix include for invalidation client factory\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@202 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "70c432a7da812b93e81eddae50a31264b023377e",
      "tree": "1e222fb5d6a07ea0121d8a564dfa1c66926f0024",
      "parents": [
        "75b87f0cd84ac46f75a73a1625351673b739c652"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 09 21:16:32 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 09 21:16:32 2012"
      },
      "message": "update README files\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@201 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "75b87f0cd84ac46f75a73a1625351673b739c652",
      "tree": "34f53e56a21929f38cb4927cede7b3a3b6204dff",
      "parents": [
        "7ce582485b8ac03f84b4d231a1679f889dd54d7b"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 09 20:46:44 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 09 20:46:44 2012"
      },
      "message": "remove unnecessary header inclusion in invalidation-listener.h\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@200 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "7ce582485b8ac03f84b4d231a1679f889dd54d7b",
      "tree": "183928b33e1e030705d6bb7c80369d63fad87215",
      "parents": [
        "a07ba39d184823446124c32c2a5abc441ee0f695"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 09 20:13:50 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 09 20:13:50 2012"
      },
      "message": "fix a bug where multiplying a TimeDelta by a double would truncate it to zero\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@199 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "a07ba39d184823446124c32c2a5abc441ee0f695",
      "tree": "d22d393dc3469f626927381f0f084f2b27f88b4c",
      "parents": [
        "e387aeff7dd53dbaa5212e9072610b1bf00d3c3e"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 09 17:16:23 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 09 17:16:23 2012"
      },
      "message": "add comments and local variables to improve readability of protocol handler configuration parameters\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@198 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "e387aeff7dd53dbaa5212e9072610b1bf00d3c3e",
      "tree": "1c543de51807558d33956453fcae4628c8069f21",
      "parents": [
        "ac4a08b853c6a72c7eda748217fee25f048921be"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 09 17:13:29 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 09 17:13:29 2012"
      },
      "message": "squelch subsequent registration requests for objects on which the client is already registered (and similarly for unregistrations)\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@197 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "ac4a08b853c6a72c7eda748217fee25f048921be",
      "tree": "700aa6f86946a848dc7873223dce3a0376760327",
      "parents": [
        "620264c0e3babc8b0abf2772090af158527c5584"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 09 17:10:56 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 09 17:10:56 2012"
      },
      "message": "strip the payload from an invalidation before echoing it in an acknowledgment\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@196 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "620264c0e3babc8b0abf2772090af158527c5584",
      "tree": "df54ec4c028c8e7c080f8250fcd9a5ed0853a8c8",
      "parents": [
        "b15dd950982b5c715d3866f72ffeacea51455ff0"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 09 00:25:20 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 09 00:25:20 2012"
      },
      "message": "* Moved dependencies to ticl/deps\n* Removed v2 in the directory names, except for protos.\n* The directory now has deps, impl, include, test\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@195 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "b15dd950982b5c715d3866f72ffeacea51455ff0",
      "tree": "9d437c367f677c65e5c7d1f171c3afbe9d736e7f",
      "parents": [
        "8e910b1e1dc65858e03023cf956f4f7531b8d787"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Mar 08 20:00:18 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Mar 08 20:00:18 2012"
      },
      "message": "* Add a new RecurringTask abstraction to clean up the way scheduling, batching, backoff etc are done\n  in the Ticl.\n* Added support for changing the parameters of exponential backoff on reset.\n* Added a SafeStorage abstraction to safely run the callback on the internal scheduler\u0027s thread\n* Changed ExponentialDelayGenerator to take a maxFactor instead of a maxDelay\n* Maintain the next performance counter sent time in the heartbeat task rather than ticl\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@194 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "8e910b1e1dc65858e03023cf956f4f7531b8d787",
      "tree": "1c3083847fcb75221ca81e2e75856e7c60462a37",
      "parents": [
        "00128fb10bdb39f366a291e6e2db52acf08e3b29"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Mar 08 19:09:57 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Mar 08 19:09:57 2012"
      },
      "message": "move a log statement; change EndOfTestWaitTime; add assertions in unit test\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@193 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "00128fb10bdb39f366a291e6e2db52acf08e3b29",
      "tree": "4cc972664da291d16bdec41ab225757357dfe1fd",
      "parents": [
        "36340d02b10684634f0296455f2eff8bb90017bb"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Mar 08 18:56:59 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Mar 08 18:56:59 2012"
      },
      "message": "comment and testing consistency cleanup\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@192 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "36340d02b10684634f0296455f2eff8bb90017bb",
      "tree": "d50f3f2b63d55aecd486bdad35985bfb2b0bd18f",
      "parents": [
        "9d30567f0f0daf6b1002389eb03ef3fc44d3db0e"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Mar 08 18:52:40 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Mar 08 18:52:40 2012"
      },
      "message": "changes for readability\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@191 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "9d30567f0f0daf6b1002389eb03ef3fc44d3db0e",
      "tree": "edb32111eaded822bee95796a4876a6d24a77cf3",
      "parents": [
        "bf51808a27c35b8b8f7cbb90b94076b603876cda"
      ],
      "author": {
        "name": "kylemarvin@gmail.com",
        "email": "kylemarvin@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Feb 24 02:34:37 2012"
      },
      "committer": {
        "name": "kylemarvin@gmail.com",
        "email": "kylemarvin@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Feb 24 02:34:37 2012"
      },
      "message": "- Removed dependency on full protobuf library.  Client now builds/runs with only protobuf lite.\n- Squelch duplicated registrations.\n- Use enum instead of String for Service/Listener intents for faster switching.\n- Fix issues in Apache HTTP client usage and refactored AndroidChannel for enhanced testability.\n- Change to protobuf-based configuration.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@188 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "bf51808a27c35b8b8f7cbb90b94076b603876cda",
      "tree": "9c6ec6b8420dfa2f3feb6d028f1857380ec28e26",
      "parents": [
        "fc0f6a2d3fb9c42e60b6112cc7aafd2479540e40"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 01 20:31:03 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Feb 01 20:31:03 2012"
      },
      "message": "expand README to specify public interfaces\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@186 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "fc0f6a2d3fb9c42e60b6112cc7aafd2479540e40",
      "tree": "0cd74475c588aeccc7686dd32ecc8eea1b2c00a1",
      "parents": [
        "4153f0c86dc53fd246bc63b57d64b6cbd92032e2"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Jan 30 21:40:35 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Jan 30 21:40:35 2012"
      },
      "message": "* Set the smear percent to be zero for unit tests\n* Add some logging to deterministic scheduler\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@185 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "4153f0c86dc53fd246bc63b57d64b6cbd92032e2",
      "tree": "8d54517681779ba729e7c3061c91f7717801c0d5",
      "parents": [
        "fd912e7cbf8db3cf8270f6512cef1e6b354767c2"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Jan 30 19:06:16 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Jan 30 19:06:16 2012"
      },
      "message": "add missing field to ToString(RegistrationManagerStateP)\nadd namespaces and fix formatting of CompareMessages signature\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@184 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "fd912e7cbf8db3cf8270f6512cef1e6b354767c2",
      "tree": "cb53ed4498ce1a2acf2c7e19fa395e55d408b43c",
      "parents": [
        "7a8592d23eda06e852a66817f41a4605da2ef5fc"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Jan 27 18:02:42 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Jan 27 18:02:42 2012"
      },
      "message": "fix compilation problems for chrome\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@183 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "7a8592d23eda06e852a66817f41a4605da2ef5fc",
      "tree": "69d8f4b54d2941503bb8ed659f01b31351208d7e",
      "parents": [
        "d87477d6aa82c4ebe256f9684fdb326c29ba2627"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 26 23:32:12 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 26 23:32:12 2012"
      },
      "message": "Change the Ticl\u0027s and Protcool handler\u0027s config to be a proto buf\n* Removed the invalidation config and protocol config types\n* Made the info message test to be a bit stronger to check for the exact config\n* Change BaseTiclRegistrarTest::createInvalidationClient to provide a config builder to its subclasses\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@182 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "d87477d6aa82c4ebe256f9684fdb326c29ba2627",
      "tree": "687bcd825139ac79bdae8efd4c60c43bb3e165ac",
      "parents": [
        "1e9d45600edf3f61c940350e28bf94e85326c22b"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 26 23:16:55 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 26 23:16:55 2012"
      },
      "message": "* ExponentialBackoffGenerator and Ticl are now supplied a random number generator in their constructors\n* OperationScheduler is provided a smearer in its constructor\n* Removed the concept of a default smear precent in the smearer. Instead it is explicitly supplied by the Ticl\n* Cleaned up the unit tests by adding outgoing messages and reg summary as instance variables\n* Added a test to check that an incoming without a reg summary is not incorrectly interpreted as one with zero registrations\n* Changed ServerHeader in the C++ ticl to behave more like the JS/Java ticls - i.e., it exposes a null reg summary if none is received from the server.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@181 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "1e9d45600edf3f61c940350e28bf94e85326c22b",
      "tree": "7b554219baad7cee66b4184b13bb0c8524c9c610",
      "parents": [
        "fe0953363f09ee84cec367e2952198e11be1f5a7"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 26 23:13:10 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 26 23:13:10 2012"
      },
      "message": "update comments and logging in registration manager\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@180 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "fe0953363f09ee84cec367e2952198e11be1f5a7",
      "tree": "7699af6fd411b4152c9740f3b435f8173c90e2e8",
      "parents": [
        "e5b3add9bc33545731118db93f46236640544838"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 26 23:08:00 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 26 23:08:00 2012"
      },
      "message": "* Port InvalidationClientImpl tests to C++\n* Refactor protocol handler tests to extract useful routines into test-helper\n* Added some methods to initialize protos\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@179 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "e5b3add9bc33545731118db93f46236640544838",
      "tree": "e0212fc189e51cad181f9305b719638d8c615025",
      "parents": [
        "4607ec28b6306b3ff9d15c6174565a5ae9a6e50b"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Jan 20 02:01:40 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Jan 20 02:01:40 2012"
      },
      "message": "fix another erroneous const annotation\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@177 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "4607ec28b6306b3ff9d15c6174565a5ae9a6e50b",
      "tree": "b56543ac1d72564d5a635b38e1960367bf410281",
      "parents": [
        "8be762a9625ae095f5115a75963339003c589fcf"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Jan 18 22:47:43 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Jan 18 22:47:43 2012"
      },
      "message": "remove superfluous const annotation from primitive type in ProtocolListener::HandleErrorMessage\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@175 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "8be762a9625ae095f5115a75963339003c589fcf",
      "tree": "19cc999e9c79549c168f198cadf0b0be7699bab3",
      "parents": [
        "2b2009d27162d98f26bbb8d88d2c92611595091d"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sat Jan 14 01:41:56 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sat Jan 14 01:41:56 2012"
      },
      "message": "include types.h in protocol-handler_test.cc\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@173 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "2b2009d27162d98f26bbb8d88d2c92611595091d",
      "tree": "170152d11f3bd5c791bc5f7987c99f1c8cd4d0ec",
      "parents": [
        "0e0315d90bfffb2a2bd421a1f5c33aa297b95cc8"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Jan 11 01:25:48 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Jan 11 01:25:48 2012"
      },
      "message": "fix erroneous static modifiers on factory methods\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@172 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "0e0315d90bfffb2a2bd421a1f5c33aa297b95cc8",
      "tree": "96a3837bdebea2bd4b4650fdba74f6ba5aa4dea9",
      "parents": [
        "bfa96759d89a2032f21501b5eeed32a0d20c56a3"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jan 10 22:33:12 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jan 10 22:33:12 2012"
      },
      "message": "add a factory to allow creation without explicit instantiation of Config\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@170 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "bfa96759d89a2032f21501b5eeed32a0d20c56a3",
      "tree": "e3aa229088ab3a46778514269a628f3f2532775e",
      "parents": [
        "b2e326d01d190f9146f684438605548ad68ab17d"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Jan 09 22:23:39 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Jan 09 22:23:39 2012"
      },
      "message": "update googletest.h path in throttle_test\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@169 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "b2e326d01d190f9146f684438605548ad68ab17d",
      "tree": "5c6e3c3b37d185e19b6ba5487f62397171361da7",
      "parents": [
        "5a3efa62950df3af531152ae29d7bd0a630bf81e"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Jan 09 20:05:11 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Jan 09 20:05:11 2012"
      },
      "message": "delete v1 code\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@168 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "5a3efa62950df3af531152ae29d7bd0a630bf81e",
      "tree": "49b5499e9cfdb7802baa49ef8617777bb7caebed",
      "parents": [
        "f12123b26af3ded7dfe1dcf4c261c154c42a64ae"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 01:42:39 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 01:42:39 2012"
      },
      "message": "Change the ApplicationClientIdP proto to include the client type\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@167 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "f12123b26af3ded7dfe1dcf4c261c154c42a64ae",
      "tree": "a1b2d0cdb884e44b33c063aeeaea0e773c624544",
      "parents": [
        "fd6601d2440ef4e1faec6bfed13c33ac8c366de5"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 01:00:35 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 01:00:35 2012"
      },
      "message": "add check to ensure started at most once\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@166 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "fd6601d2440ef4e1faec6bfed13c33ac8c366de5",
      "tree": "083ef259dd2852d244d3f3b7bf557efdad6c62cc",
      "parents": [
        "c5af187f2a1234fa04459d0f7ab1e37d4b861744"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 00:45:41 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 00:45:41 2012"
      },
      "message": "add is_transient to config\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@165 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "c5af187f2a1234fa04459d0f7ab1e37d4b861744",
      "tree": "f901348490f505e64cbf678bc43dc27f8a6997c0",
      "parents": [
        "4ef7d411907145988f9f231558568eba6ae7f207"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 00:41:11 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 00:41:11 2012"
      },
      "message": "make Stop synchronous\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@164 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "4ef7d411907145988f9f231558568eba6ae7f207",
      "tree": "5d4669c5119237ac282d80d40c83f40be6b1b8b5",
      "parents": [
        "c6f1effebb5b2d1a143b583ef9aa03d2d616d937"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 00:38:02 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 00:38:02 2012"
      },
      "message": "Ensure that InformRegisrationStatus is issued even if the reply from the server is lost.\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@163 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "c6f1effebb5b2d1a143b583ef9aa03d2d616d937",
      "tree": "9d1a74aa8c78184056a02c3cd58581f83b7879d0",
      "parents": [
        "2bb4e2dea2d4227810db4664682f338394bcb4a9"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 00:35:34 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 00:35:34 2012"
      },
      "message": "s/CHECK(false)/LOG(FATAL)\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@162 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "2bb4e2dea2d4227810db4664682f338394bcb4a9",
      "tree": "68d871e677495c0c092951aff02589ef105f3a76",
      "parents": [
        "1a34a807b10b7b5ab1f8d0fa393d4995cf5debbc"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 00:24:23 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 00:24:23 2012"
      },
      "message": "documentation cleanup and registration status message improvement\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@161 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "1a34a807b10b7b5ab1f8d0fa393d4995cf5debbc",
      "tree": "a9fdd4efdf84ef957537ecc1bf1aa6c07e225abc",
      "parents": [
        "aaa740cd6a5bd92a133fc668614a146611b1c975"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 00:20:18 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sun Jan 08 00:20:18 2012"
      },
      "message": "documentation and checks regarding starting and stopping of resources outside ticl\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@160 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "aaa740cd6a5bd92a133fc668614a146611b1c975",
      "tree": "418227f49bb37b8dba97098f71ce71830823097a",
      "parents": [
        "d151d38bf6f81e50d908dce9ccf24df7c3759a31"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Jan 06 22:26:48 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Jan 06 22:26:48 2012"
      },
      "message": "fix for DeterministicScheduler::PassTime() of empty interval\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk/src/google@159 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    }
  ],
  "next": "d151d38bf6f81e50d908dce9ccf24df7c3759a31"
}
