)]}'
{
  "log": [
    {
      "commit": "400848fa3a6df8d085be15a6c6f9f47bf811a6fd",
      "tree": "40be3b246f8ed03f6b22b0d81f5f2f960024f914",
      "parents": [
        "74372dbc392936a7be694d39f581edf033e3c016"
      ],
      "author": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@chromium.org",
        "time": "Tue Jul 14 00:12:03 2015"
      },
      "committer": {
        "name": "Andrii Shyshkalov",
        "email": "tandrii@chromium.org",
        "time": "Tue Jul 14 00:12:03 2015"
      },
      "message": "Sentinel commit pointing at new location in Chromium.\n\nRelated Chromium commit:\nhttps://chromium.googlesource.com/chromium/src.git/+/4a996cdc7a36a71ac511c153375fc6170fea80e6\n"
    },
    {
      "commit": "74372dbc392936a7be694d39f581edf033e3c016",
      "tree": "815a17271ae3b0e6632da177184f2a01d6c3f74c",
      "parents": [
        "06dbfffbc8f956191f494f2a5950f018d1f92b77"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com",
        "time": "Tue Mar 24 00:19:53 2015"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com",
        "time": "Tue Mar 24 00:19:53 2015"
      },
      "message": "When request auth token, using Intent#setClassName rather than Intent#setPackage to work around issue in #startService.\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@342 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "06dbfffbc8f956191f494f2a5950f018d1f92b77",
      "tree": "f70c76e8dd48f590e5bb829471125fbe415cfb67",
      "parents": [
        "e04aff70fd431f793e9377194742bb5a76ade8f9"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com",
        "time": "Mon Sep 15 22:55:20 2014"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com",
        "time": "Mon Sep 15 22:55:20 2014"
      },
      "message": "Fixing package name in AndroidListenerManifest.xml and ordering factory methods by corresponding proto field in AndroidService.java\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@341 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "e04aff70fd431f793e9377194742bb5a76ade8f9",
      "tree": "8b8a492a226053b44dd3d3c8224dc65a740269eb",
      "parents": [
        "66e1ad3c7225595a06105df71bf20dd39cb78d3f"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com",
        "time": "Fri Sep 12 20:41:18 2014"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com",
        "time": "Fri Sep 12 20:41:18 2014"
      },
      "message": "Removing guava dependency for the invalidation client (part of an effort to reduce method count in Android applications)\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@340 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "66e1ad3c7225595a06105df71bf20dd39cb78d3f",
      "tree": "c2411e75a8141c879c7bd9ab61d7ca7258c10fbf",
      "parents": [
        "95c8adfbe3468eb361a9d5991d5cf80036f36d6f"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com",
        "time": "Thu Aug 28 18:33:35 2014"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com",
        "time": "Thu Aug 28 18:33:35 2014"
      },
      "message": "Adding forwarding implementation of WakeLockManager in its original location (temporary workaround for Chromium)\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@339 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "95c8adfbe3468eb361a9d5991d5cf80036f36d6f",
      "tree": "fb7677ace750e3cb3851f0f272bce99c5c194486",
      "parents": [
        "35670c95fa91d68acabaef68cf5f4a4e6d749bb4"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com",
        "time": "Wed Aug 27 22:54:15 2014"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com",
        "time": "Wed Aug 27 22:54:15 2014"
      },
      "message": "* Updating example code to use nano protos instead of lite protos\n* Addressing Android lint warnings\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@338 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "35670c95fa91d68acabaef68cf5f4a4e6d749bb4",
      "tree": "edebaf1c3c9f2c7ea1d9be8136a8347c301debce",
      "parents": [
        "f61ccdcd922231f7a5b155f7d939432d9ee262a9"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com",
        "time": "Wed Aug 27 21:38:05 2014"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com",
        "time": "Wed Aug 27 21:38:05 2014"
      },
      "message": "Removing unused ticl.ProtoWrapper class and moving example code\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@337 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "f61ccdcd922231f7a5b155f7d939432d9ee262a9",
      "tree": "9b860390b3572a2711c794c72443abe8a56a83eb",
      "parents": [
        "53ca74393a97c66f6875a8de630c69149788d55c"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com",
        "time": "Mon Aug 25 18:37:16 2014"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com",
        "time": "Mon Aug 25 18:37:16 2014"
      },
      "message": "Android cache invalidation client release August 2014\n\n* Switching from lite to nano protos\n* AckCache suppressing duplicate invalidations\n* Removing deprecated code\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@336 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "53ca74393a97c66f6875a8de630c69149788d55c",
      "tree": "8c2a4bab728b1bb627cd8de3984a770be140a115",
      "parents": [
        "51d526bb9dd8844a8f3bd6b71f7c7745c043ed1d"
      ],
      "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@335 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "51d526bb9dd8844a8f3bd6b71f7c7745c043ed1d",
      "tree": "617a04a031d1802ea7afe283de208153227790f2",
      "parents": [
        "99b0c5fdc6ed619c07821caea674ab5e3fd02cea"
      ],
      "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@334 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "99b0c5fdc6ed619c07821caea674ab5e3fd02cea",
      "tree": "880ce57acc20e684ac754754bcc66f5a46c278b4",
      "parents": [
        "b6573c9cc171d03422766ac280797a82413b01ca"
      ],
      "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@333 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "b6573c9cc171d03422766ac280797a82413b01ca",
      "tree": "be3bf17493ddbf16ba123743029846633b653615",
      "parents": [
        "3c9f3ca24f8092318b82476b51a76ef16bf19187"
      ],
      "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@332 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "3c9f3ca24f8092318b82476b51a76ef16bf19187",
      "tree": "247bc122d57acb618b8e047ada27205f7ee765cd",
      "parents": [
        "5c17c1a3c3ccbf2ef02512ece1ce6b6d9d2b7815"
      ],
      "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@331 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "5c17c1a3c3ccbf2ef02512ece1ce6b6d9d2b7815",
      "tree": "699d44e600c61a0cb3c4db36e4e0e037b74ea408",
      "parents": [
        "d8c840f57106227ec85e2d6e073369ce01c5df46"
      ],
      "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@330 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "d8c840f57106227ec85e2d6e073369ce01c5df46",
      "tree": "49ed0ea113a8e8f33c1fd04837744155d3328741",
      "parents": [
        "e310200ce147df51401e880da34d9a5bc15e9208"
      ],
      "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@329 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "e310200ce147df51401e880da34d9a5bc15e9208",
      "tree": "0c73ba6144c76257f5e2d3ce73d59997c0395a3f",
      "parents": [
        "4854017d8067bec302c8aa13f4e750131605e1f5"
      ],
      "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@328 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "4854017d8067bec302c8aa13f4e750131605e1f5",
      "tree": "af687c4cea20309a1046ac6ba1c16657a8c79b45",
      "parents": [
        "c1d79b29e8676b50d304c66b0abb134a7b0b710d"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Feb 18 22:53:34 2014"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Feb 18 22:53:34 2014"
      },
      "message": "February 2014 invalidation client release\n\n* Name changes and refactoring in protos\n* Optionally forwarding invalidation intents to stopped clients (\"background\" invalidations)\n* Code cleanup (fixing log message, and removing unused constant)\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@327 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "c1d79b29e8676b50d304c66b0abb134a7b0b710d",
      "tree": "9f0c37327ffdabfeb451d66e3f369000ce85da0e",
      "parents": [
        "61de59644a0845e48bc73ff864d651ae6611ca7d"
      ],
      "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@326 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "61de59644a0845e48bc73ff864d651ae6611ca7d",
      "tree": "ffa78f5599c02241cf7d80360dd725f1219d2577",
      "parents": [
        "d3cdaff40bde179f48d056c31be4a304db7cf050"
      ],
      "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@325 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "d3cdaff40bde179f48d056c31be4a304db7cf050",
      "tree": "5e80b0d19197ec8b14a008193ca1449f6a4baf7c",
      "parents": [
        "b48363ea573735268440e12cf4f4fcd011b11a3f"
      ],
      "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@324 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "b48363ea573735268440e12cf4f4fcd011b11a3f",
      "tree": "6c0c18453f7a4cdad8d7875bc9b2e1e58e890ccb",
      "parents": [
        "7f03edaa3e5c952cc69cf85585a3118550e9cd6c"
      ],
      "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@323 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "7f03edaa3e5c952cc69cf85585a3118550e9cd6c",
      "tree": "0a533cc379dd8ac546435488a904c9644aa5cfab",
      "parents": [
        "590f6895556c29261acbd1064cef0e1f8204ff8d"
      ],
      "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@322 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "590f6895556c29261acbd1064cef0e1f8204ff8d",
      "tree": "247a31f98f0761a76003083c6c38142dc1b670f3",
      "parents": [
        "f3669f5befa1eedc80cd0876740caa9dd908c5bd"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Jan 24 21:44:48 2014"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Jan 24 21:44:48 2014"
      },
      "message": "Addressing NPE when accessing resources to log message about null intents\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@319 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "f3669f5befa1eedc80cd0876740caa9dd908c5bd",
      "tree": "7c79f7177c7b86046a298235373e10f7e9ab407c",
      "parents": [
        "47b8f41efe624a4ac6a9a9c227f18c2e62a0b2d8"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Nov 12 19:46:32 2013"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Nov 12 19:46:32 2013"
      },
      "message": "November invalidation client update\n\n- Using setIntentRedelivery(true) and checking for null intents in all IntentService implementations.\n- Adding support for clients that need to be informed of suppression (exposing suppression-enabled flag, which formerly defaulted to true)\n- Disabling connection reuse in message sender service to minimize chances of EOFException\n- Misc. comment and code cleanup\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@314 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "47b8f41efe624a4ac6a9a9c227f18c2e62a0b2d8",
      "tree": "fb558764c722e00c28f49114d22f7a6a111733a0",
      "parents": [
        "409c01cc95d1f4ef2ee9731b6f9be7872957c201"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Sep 03 16:59:36 2013"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Sep 03 16:59:36 2013"
      },
      "message": "September 2013 invalidation client release\n\n- Add support for OAuth2 to Android network channel\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@313 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "409c01cc95d1f4ef2ee9731b6f9be7872957c201",
      "tree": "4ddd5132a7c0e5f526b1eef8bab3ec4163245d48",
      "parents": [
        "15f3fbcd3758972be1b5cd2627c243f5159d8875"
      ],
      "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@312 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "15f3fbcd3758972be1b5cd2627c243f5159d8875",
      "tree": "71d2b0ec6f1930e63a6f2a96172bf32cf0404095",
      "parents": [
        "03bd4eb735a15033d1ce1d91fcf57cd6bfb62767"
      ],
      "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@311 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "03bd4eb735a15033d1ce1d91fcf57cd6bfb62767",
      "tree": "edd8aea8487fba38c4e419ed78b180c9cc8ca884",
      "parents": [
        "aabd8cdde6c5da7704b4767b07ce148f4525a2a5"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Aug 08 00:30:58 2013"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Aug 08 00:30:58 2013"
      },
      "message": "- Caching application metadata to avoid repeatedly reading manifest.xml\n- Removing unused test help class\n- Updating build version\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@310 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "aabd8cdde6c5da7704b4767b07ce148f4525a2a5",
      "tree": "beb84966c4df48696a2db10a5dd3d757af9ee94d",
      "parents": [
        "3eb069060f829e20aa232cda71e67dfa84cc62d9"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Jun 12 01:22:58 2013"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Jun 12 01:22:58 2013"
      },
      "message": "Removing reflection code from Statistics.java to avoid issues from Proguard mangling\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@309 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "3eb069060f829e20aa232cda71e67dfa84cc62d9",
      "tree": "26ed1ca00426c1e8c6dcb7937b93837e363c1fdb",
      "parents": [
        "cdffc0e85bc653e1bdd82d36c2203cbae58d85de"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Jun 10 21:33:36 2013"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Jun 10 21:33:36 2013"
      },
      "message": "Rolling back statistics change since valueOf calls are failing\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@308 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "cdffc0e85bc653e1bdd82d36c2203cbae58d85de",
      "tree": "e708aa2e7ab5c4da4fff6314a9dde6230e06fbe6",
      "parents": [
        "10146686d5dd206dec54ec08e8617c40b00a82ea"
      ],
      "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@307 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "10146686d5dd206dec54ec08e8617c40b00a82ea",
      "tree": "bffa1e18926427be48528f073568871992cb9c69",
      "parents": [
        "00c8982c9121168b7609c8b2c081652e829f9f1e"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jun 04 19:58:23 2013"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jun 04 19:58:23 2013"
      },
      "message": "Invalidation client June 2013 changes\n\n- More reliably closing streams in AndroidStorage\n- Removing reflection code from statistics (to avoid issues with minified names)\n- Wake lock isHeld() release() race condition accounted for\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@306 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "00c8982c9121168b7609c8b2c081652e829f9f1e",
      "tree": "5a69f72dd4ec4fc3b7edb9569598ba0cc4b9ae0c",
      "parents": [
        "869f7fdbba08ea9a3319058e78830048df418142"
      ],
      "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@305 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "869f7fdbba08ea9a3319058e78830048df418142",
      "tree": "d6816aed2f3b264a8c7a7b1e4727fdfa22307504",
      "parents": [
        "d5547ba2919f6d3b3c09a1bb6a0b2c2180351c7c"
      ],
      "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@304 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "d5547ba2919f6d3b3c09a1bb6a0b2c2180351c7c",
      "tree": "5a69f72dd4ec4fc3b7edb9569598ba0cc4b9ae0c",
      "parents": [
        "a238eec2d60e8fb5b9bb4403e269b0f0347eab08"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri May 03 20:57:17 2013"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri May 03 20:57:17 2013"
      },
      "message": "Android invalidation client changes\n\n* Removing deprecated proto field\n* Handling null intents and requesting redelivery\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@303 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "a238eec2d60e8fb5b9bb4403e269b0f0347eab08",
      "tree": "c7cc2e1107b9aedd10a2edd26c09ba8efc756cfb",
      "parents": [
        "fb2c75f296a6385711b10776b0901ec7e0a7c781"
      ],
      "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@302 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "fb2c75f296a6385711b10776b0901ec7e0a7c781",
      "tree": "872952201a377cec27fa232281c3b6f9ab16bb4f",
      "parents": [
        "96a43f044918d5fc772b69c42ae22d3b58281fd5"
      ],
      "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@301 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "96a43f044918d5fc772b69c42ae22d3b58281fd5",
      "tree": "c0a1ff6ccac9e55c572c66bda1bb22b11ccc11c3",
      "parents": [
        "845e6dc51cf56c0a0a3ef856860101e3119d7544"
      ],
      "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@300 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "845e6dc51cf56c0a0a3ef856860101e3119d7544",
      "tree": "9d025929b7d0da229dcd9857120f127f50f201a1",
      "parents": [
        "27a6e5fa0800454b28d02848cfb0201957fb6690"
      ],
      "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@299 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "27a6e5fa0800454b28d02848cfb0201957fb6690",
      "tree": "b8af1c3b3296b1ba6aa5ae4ba4c55279da9df423",
      "parents": [
        "12f4b7e62e0c40485fd86f311e389dad60743c38"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Apr 15 17:47:45 2013"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Apr 15 17:47:45 2013"
      },
      "message": "Addressing Java warnings\n\n* Moving to API level 14 overload of AccountManager#getAuthToken\n* Replacing onStart with onStartCommand\n* Cleaning up versions in example manifest\n* Generating random nonce rather than using clock when creating a new invalidation client\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@298 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "12f4b7e62e0c40485fd86f311e389dad60743c38",
      "tree": "921944c3fc68242d2afc6ddd566095c0b4c7e21b",
      "parents": [
        "63a6fb0e3251de755112f6fab311aea9b7b295cb"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Apr 03 23:24:39 2013"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Wed Apr 03 23:24:39 2013"
      },
      "message": "Push latest changes to opensource.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@297 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "63a6fb0e3251de755112f6fab311aea9b7b295cb",
      "tree": "3d1c2ff70d0f974660748f8762842fe4b58fc53c",
      "parents": [
        "26234bdc4dd2056fa36298c009fd87594d151052"
      ],
      "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@296 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "26234bdc4dd2056fa36298c009fd87594d151052",
      "tree": "b580e83072b86ec30e521d6a534f7a933bb0cdd2",
      "parents": [
        "5aa526973ac9860106be93423b9ed4c470aed67e"
      ],
      "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@295 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "5aa526973ac9860106be93423b9ed4c470aed67e",
      "tree": "abc7e79eb27f2b3d68675a3c07c092b263331c36",
      "parents": [
        "424d502cee61f047ef8579bf13077b569df5f072"
      ],
      "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@294 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "424d502cee61f047ef8579bf13077b569df5f072",
      "tree": "fa091324559a0aa7649ec37946b7a5b99ba52f55",
      "parents": [
        "6f237bea45fb9b9feef0f9566d2d631963de5035"
      ],
      "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@293 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "6f237bea45fb9b9feef0f9566d2d631963de5035",
      "tree": "3d397f2f8fccde150106438ae35b2e49626b162d",
      "parents": [
        "fef07daf86bc30a7e749c6c2f8923092723c6b46"
      ],
      "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@292 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "fef07daf86bc30a7e749c6c2f8923092723c6b46",
      "tree": "011ba0f9adc9e8ed446b8796f731061a962e7387",
      "parents": [
        "2a18c1e29df37d0954777b052da0f6dd1a3125e3"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 15 18:40:46 2013"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Mar 15 18:40:46 2013"
      },
      "message": "Add missing file.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@288 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "2a18c1e29df37d0954777b052da0f6dd1a3125e3",
      "tree": "2403bf0ec4245f70e45a4a175751990aad8552a7",
      "parents": [
        "0cd3c76f739027c8f013be29314d07a1234d10ac"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Mar 14 19:39:28 2013"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Mar 14 19:39:28 2013"
      },
      "message": "Push latest changes to opensource.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@286 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "0cd3c76f739027c8f013be29314d07a1234d10ac",
      "tree": "ed88eb040f265b34b0015f95b4926c041b6556d3",
      "parents": [
        "6d3fe62e200d22f7c1b9eeff04830705f53be6d4"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Mar 14 19:39:08 2013"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Mar 14 19:39:08 2013"
      },
      "message": "Push latest changes to opensource.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@285 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "6d3fe62e200d22f7c1b9eeff04830705f53be6d4",
      "tree": "23ad7b2cdc39c803ba0a27d4b944eb752f6e955c",
      "parents": [
        "993217d8c7207fa69ac6bfa5178e36fb78db16d9"
      ],
      "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@284 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "993217d8c7207fa69ac6bfa5178e36fb78db16d9",
      "tree": "164ac63d076b178252e815f309f67c1ffd41c8e4",
      "parents": [
        "8401e6911c10265306da4924b51176d103a6a9c7"
      ],
      "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@283 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "8401e6911c10265306da4924b51176d103a6a9c7",
      "tree": "b105e7b2d70e640ce47aa2160abe5a6bde9a4103",
      "parents": [
        "6d4da6309f36c0f1e1446ede0bbab4cba4a3ec71"
      ],
      "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@282 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "6d4da6309f36c0f1e1446ede0bbab4cba4a3ec71",
      "tree": "aabe36fb0bd83757527c78b02552be0c131ec311",
      "parents": [
        "baa6a807e06a92a7dcd3ec76bf84dde9f6784dc7"
      ],
      "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@281 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "baa6a807e06a92a7dcd3ec76bf84dde9f6784dc7",
      "tree": "d4293e2480594f050eaffa655d15118360b9f6c4",
      "parents": [
        "d111664e7d46f7b7a42001d1a5b066b5acfacd3b"
      ],
      "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@280 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "d111664e7d46f7b7a42001d1a5b066b5acfacd3b",
      "tree": "9f2344c96867d9b1721e89aae24b3fba0f9c9200",
      "parents": [
        "a79188a85accd68a808edefe9292bf0e6f20cf32"
      ],
      "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@279 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "a79188a85accd68a808edefe9292bf0e6f20cf32",
      "tree": "80ed7494dd6db2e3afaad07b46d061db348c1586",
      "parents": [
        "b2ea3c0b7e1b593f983c82c2469a62f1145f27bb"
      ],
      "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@278 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "b2ea3c0b7e1b593f983c82c2469a62f1145f27bb",
      "tree": "64c5b38f1631b464bd510d5855b4c6e7bd4319c5",
      "parents": [
        "9c70d95b3c1814fc62a0d444fde902430de5bfe9"
      ],
      "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@277 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "9c70d95b3c1814fc62a0d444fde902430de5bfe9",
      "tree": "07851a1ae261979a29b2ba7c350ca40877d3a6a0",
      "parents": [
        "f02295c15345fcaab0ca93acb9b381e36c0cd874"
      ],
      "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@276 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "f02295c15345fcaab0ca93acb9b381e36c0cd874",
      "tree": "37e5a70ab05415acebd1c90946ef530195fbe7fb",
      "parents": [
        "40ca3fd1bf706b581a0386c0030e9d75acfedc9b"
      ],
      "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@275 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "40ca3fd1bf706b581a0386c0030e9d75acfedc9b",
      "tree": "e9353a623e7d739a41a56f88c00878f7b1bc8fe0",
      "parents": [
        "7454fd57fca0a4f7cc21a522f9747b7820ff9541"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Feb 15 01:47:14 2013"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Feb 15 01:47:14 2013"
      },
      "message": "Prevent the TiclService from crashing on null intents.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@274 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "7454fd57fca0a4f7cc21a522f9747b7820ff9541",
      "tree": "5f1625bcecaeb99bb69b9be13e3e9e3f32719200",
      "parents": [
        "7b0b5784c209cb87ba9563856b00f94acc459572"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Feb 05 19:08:29 2013"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Feb 05 19:08:29 2013"
      },
      "message": "Cleaning up comments, manifests and sample for the AndroidListener\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@273 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "7b0b5784c209cb87ba9563856b00f94acc459572",
      "tree": "0bab24045d479668f5a9729444e05c85ce07c5ea",
      "parents": [
        "2e7386dbf93a946420cdf7764915e171da546734"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Feb 01 19:49:40 2013"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Feb 01 19:49:40 2013"
      },
      "message": "Bring SVN repo up-to-date with head.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@271 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "2e7386dbf93a946420cdf7764915e171da546734",
      "tree": "7e35406117a09cbaf0253051b2b447e7658e0522",
      "parents": [
        "0a8886d81bbfc70ced90f40be5d20b1ea7ab746d"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Feb 01 19:49:00 2013"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Feb 01 19:49:00 2013"
      },
      "message": "Use custom logging throughout all classes.\n\nModify WakeLockManager and MultiplexingGcmListener to use our own\nwrapper around Android logging.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@270 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "0a8886d81bbfc70ced90f40be5d20b1ea7ab746d",
      "tree": "656d879a16efd042e9520bece177a7a823b5cae9",
      "parents": [
        "a574208cdc60be69eba78dfd562000e910dba491"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 31 19:06:24 2013"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Thu Jan 31 19:06:24 2013"
      },
      "message": "Add additional filtering features to AndroidLogger.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@268 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "a574208cdc60be69eba78dfd562000e910dba491",
      "tree": "8b5913c5963f05af6a264aee4a30a3e5b15edcb5",
      "parents": [
        "118637e31d5c82a24f6ad609b5d1ffe7cbac3ce7"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jan 29 18:12:18 2013"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Jan 29 18:12:18 2013"
      },
      "message": "1. Make MultiplexingGcmListener properly set the sender ids.\n2. Include the client type in message headers.\n3. Allow server-driven session token upgrades.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@265 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "118637e31d5c82a24f6ad609b5d1ffe7cbac3ce7",
      "tree": "a41e7cfde572ffa92564419c6f6e67878cbb9219",
      "parents": [
        "156d0bd029b89a6e3e6fced9bec6007b343ddd63"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sat Jan 26 01:54:53 2013"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sat Jan 26 01:54:53 2013"
      },
      "message": "Using GCM rather than C2DM in the Android invalidation client.\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@264 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "156d0bd029b89a6e3e6fced9bec6007b343ddd63",
      "tree": "9d5e3417eb96055f5ec9e290b9f7c46fc30241f7",
      "parents": [
        "6931c458adee2c22aa97dda45e8aad09d6d458bf"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sat Jan 26 01:05:14 2013"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sat Jan 26 01:05:14 2013"
      },
      "message": "Specifying a timeout when acquiring wake locks. Defensive code in case we lose track. If we\u0027re pre SDK 14, we do not specify a timeout due to https://code.google.com/p/android/issues/detail?id\u003d11622.\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@263 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "6931c458adee2c22aa97dda45e8aad09d6d458bf",
      "tree": "c5fc07a6882b7541c98a08ae517376472a225c82",
      "parents": [
        "1ee55bf4385efcd0b2a47cec17cd1c89c082abd3"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Jan 25 21:40:40 2013"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Jan 25 21:40:40 2013"
      },
      "message": "Push HEAD.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@262 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "1ee55bf4385efcd0b2a47cec17cd1c89c082abd3",
      "tree": "1d905d8d9a0268824c11ddcbe095b087ee9dc9fb",
      "parents": [
        "cfaff94a4b86ad809645c54f3d8a6356d541243e"
      ],
      "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@261 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "cfaff94a4b86ad809645c54f3d8a6356d541243e",
      "tree": "a04db8fa5400956ddb7672fcb9a396cb5d80396e",
      "parents": [
        "4d26db21608d530e91a03f0987b1be3770527a25"
      ],
      "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@260 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "4d26db21608d530e91a03f0987b1be3770527a25",
      "tree": "5d8126f72f6cd10128a4646cce7228c292f1a81e",
      "parents": [
        "a20dbff2191fa8a02743e3f793c8b0821720cda9"
      ],
      "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@259 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "a20dbff2191fa8a02743e3f793c8b0821720cda9",
      "tree": "85f69e2ff1e7359e906dd41f75a9011cdbc99641",
      "parents": [
        "f453d8ab3e4e0468dca974c68374e605cce0d0bf"
      ],
      "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@258 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "f453d8ab3e4e0468dca974c68374e605cce0d0bf",
      "tree": "217917ed4f1ec13d13a7ad0bdeba690e304e4623",
      "parents": [
        "18153eec4d85be1a6f72df5af8b6d1e1db71337d"
      ],
      "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@257 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "18153eec4d85be1a6f72df5af8b6d1e1db71337d",
      "tree": "6068b7fd4f227ad7acbd54450cc77333e33016c9",
      "parents": [
        "8faa10cdeebca21a840b06b38dd6d851932368a0"
      ],
      "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@256 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "8faa10cdeebca21a840b06b38dd6d851932368a0",
      "tree": "ec4c7a8937bace2ac0e6857598c845dffc73b111",
      "parents": [
        "f177b55b273f1d34c0ef8b92f64e676c138e615a"
      ],
      "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@255 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "f177b55b273f1d34c0ef8b92f64e676c138e615a",
      "tree": "98398f5b08eb16d0a75e576e85ab72e78e844c2b",
      "parents": [
        "5e4fb948d17866d0735be415effd312219e3c30c"
      ],
      "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@254 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "5e4fb948d17866d0735be415effd312219e3c30c",
      "tree": "e687d307241c62515d750407cbd204e5b5bd154a",
      "parents": [
        "f7179d3e07d6f436cc88ebc3e2d461765cd2e80b"
      ],
      "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@253 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "f7179d3e07d6f436cc88ebc3e2d461765cd2e80b",
      "tree": "411ca101944a9e27ecfaa81edeb6024b844d3e17",
      "parents": [
        "419e9cad60ddd08b15d3dde01233d187069905df"
      ],
      "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@252 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "419e9cad60ddd08b15d3dde01233d187069905df",
      "tree": "9ae003d94cd55329e7a38f95877747fd9a4a21c1",
      "parents": [
        "34ec2a71110a1bb20dfe6002cb34622e29c6d63b"
      ],
      "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@251 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "34ec2a71110a1bb20dfe6002cb34622e29c6d63b",
      "tree": "df53fa64d1f3d10772396cf6407b36418057c7d1",
      "parents": [
        "3d392332dab3b67b67ed4f9d63483cf2b72a09b8"
      ],
      "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@250 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "3d392332dab3b67b67ed4f9d63483cf2b72a09b8",
      "tree": "0882e2bb026f6adc53a2aa1f569bca3c0f77bc23",
      "parents": [
        "1e3d9d7a5ca843e4b10c489d10b31549aa7a8171"
      ],
      "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@249 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "1e3d9d7a5ca843e4b10c489d10b31549aa7a8171",
      "tree": "9bf897477bbad296566de15ede727843a4c73b86",
      "parents": [
        "a5db94e316d3183e50039ae272a43c43d144a341"
      ],
      "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@248 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "a5db94e316d3183e50039ae272a43c43d144a341",
      "tree": "69b025a21678d8ca274d5efc2796e528a4291aac",
      "parents": [
        "e9ea48e51aec81204c520dc9884cfefbb2e44d16"
      ],
      "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@247 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "e9ea48e51aec81204c520dc9884cfefbb2e44d16",
      "tree": "b58e17259bd498bbee2b8b3be80838595996a95f",
      "parents": [
        "59e501429fbad2018d2e67c7cacecc51bbb33c57"
      ],
      "author": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Dec 07 00:45:55 2012"
      },
      "committer": {
        "name": "colinmeek@gmail.com",
        "email": "colinmeek@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Dec 07 00:45:55 2012"
      },
      "message": "Simplified AndroidListener abstraction\n\nRegistration retries are no longer automatic but exponential backoff is used when the application manually retries. The invalidation client no longer sends optimistic registration success messages so we can use those messages to reset backoff delays.\n\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@246 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "59e501429fbad2018d2e67c7cacecc51bbb33c57",
      "tree": "40c3bd773b5eab8ab08dcdb4284b53d915876690",
      "parents": [
        "a01b00896d2fd70aa6d7b8a8802b8c501db2340b"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Oct 30 23:35:32 2012"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Oct 30 23:35:32 2012"
      },
      "message": "Add missing TrickleState.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@245 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "a01b00896d2fd70aa6d7b8a8802b8c501db2340b",
      "tree": "bdba3a065f03796a77bd7d1229117b6d6139541a",
      "parents": [
        "70e97ae955b4e86ab2aa66295ae6afd9c187cf5c"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Oct 29 18:27:48 2012"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Oct 29 18:27:48 2012"
      },
      "message": "Track changes from HEAD. In particular, ensure that all code builds aginst the\nopen-sourced protocol buffers library.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@244 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "70e97ae955b4e86ab2aa66295ae6afd9c187cf5c",
      "tree": "c0776a82d183a944f6e0bf4b1af0014e06c2522a",
      "parents": [
        "63db8745067dd315eed7160b2b0c2e722d9db9e0"
      ],
      "author": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 26 18:49:32 2012"
      },
      "committer": {
        "name": "ghcooper@gmail.com",
        "email": "ghcooper@gmail.com@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 26 18:49:32 2012"
      },
      "message": "change license on generate_protos.sh\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@243 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "63db8745067dd315eed7160b2b0c2e722d9db9e0",
      "tree": "b6c2b59bbf4fbdd7b5fb00d93fdeea109ab1c70e",
      "parents": [
        "368d138cde572fa9a2d9e650efdafc1530cefd19"
      ],
      "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@242 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "368d138cde572fa9a2d9e650efdafc1530cefd19",
      "tree": "a2ca789880975bee16a83f4c0e2b6284e6adbc55",
      "parents": [
        "49eba72baab796a88e73cb9702ee9ef94ea50a4b"
      ],
      "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@241 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "49eba72baab796a88e73cb9702ee9ef94ea50a4b",
      "tree": "18ead949eeef44e1a01a8a8528cabadb890d6b5a",
      "parents": [
        "621b1d8a6b2bcb5a53e086748c4c0da9f12aeb6e"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Oct 16 23:40:06 2012"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Tue Oct 16 23:40:06 2012"
      },
      "message": "Modifies the GCM channel to buffer the last client message when no registration id is available.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@240 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "621b1d8a6b2bcb5a53e086748c4c0da9f12aeb6e",
      "tree": "10c8510a394085a20640ca69293b04fad320c92c",
      "parents": [
        "1717aa37a1ff6000d795e7e8f83b7d67f7561925"
      ],
      "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@239 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "1717aa37a1ff6000d795e7e8f83b7d67f7561925",
      "tree": "af9303fce4bb43301db9cadde808d6a9d288ac94",
      "parents": [
        "0ab3122f334e82435ff63f649453f8f5165ba046"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Oct 15 20:44:30 2012"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Oct 15 20:44:30 2012"
      },
      "message": "Renames protocol buffers and protocol validator classes to more descriptive names.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@238 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "0ab3122f334e82435ff63f649453f8f5165ba046",
      "tree": "b3f7aa414f42489b4bb04b6eb5fb804ccf49ee32",
      "parents": [
        "f782beff1e9533f530b5699b820e1960e6d9beb8"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Oct 15 17:31:48 2012"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Mon Oct 15 17:31:48 2012"
      },
      "message": "Update README for example app.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@237 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "f782beff1e9533f530b5699b820e1960e6d9beb8",
      "tree": "ede725fc9db0d03e7569f0a42a234cb3adb734de",
      "parents": [
        "bf705da8981ab5c5715e10db8a2118ad6ec056f1"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sat Oct 13 01:44:57 2012"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Sat Oct 13 01:44:57 2012"
      },
      "message": "Fix copyright headers.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@236 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "bf705da8981ab5c5715e10db8a2118ad6ec056f1",
      "tree": "575485e74673f117d6089292b383091d8b3aa666",
      "parents": [
        "cb8d977f42ddb4ee9afa022eb9d359fa20e6816f"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 12 23:27:52 2012"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 12 23:27:52 2012"
      },
      "message": "Add a README for the example application.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@235 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "cb8d977f42ddb4ee9afa022eb9d359fa20e6816f",
      "tree": "433b0305bf4ff636fa5cce19ddfc698340df806c",
      "parents": [
        "58c1b06acd6aa4aa0d8cda5589fd98a481d9dbcf"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 12 23:20:37 2012"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 12 23:20:37 2012"
      },
      "message": "Add additional supporting files for building the example application.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@234 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "58c1b06acd6aa4aa0d8cda5589fd98a481d9dbcf",
      "tree": "bccc7201f02fa12334af37bc63a2a2427c9f12c9",
      "parents": [
        "87bbd6fea796dc8e053dd23f09a3a8fce91d285e"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 12 23:10:52 2012"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 12 23:10:52 2012"
      },
      "message": "Add libraries required by the example application.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@233 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "87bbd6fea796dc8e053dd23f09a3a8fce91d285e",
      "tree": "291a90350d73735392b3865a4df130b4668cbac9",
      "parents": [
        "2571fa3b01b8494079e57c1bab0096a8be583952"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 12 23:09:30 2012"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 12 23:09:30 2012"
      },
      "message": "Introduce src/example-app-build to allow building the example application.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@232 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "2571fa3b01b8494079e57c1bab0096a8be583952",
      "tree": "9effa7ccdcd03e2cbdc146dbc657bdb3a95cf293",
      "parents": [
        "fcb3c6e70fc9265753111dd233cf5762e15a6506"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 12 22:37:05 2012"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 12 22:37:05 2012"
      },
      "message": "Changes to proto files and addition of a Receiver type as needed to make the example application build.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@231 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    },
    {
      "commit": "fcb3c6e70fc9265753111dd233cf5762e15a6506",
      "tree": "403d2c4d1526b0d253f9c6f1b06cf8d83e27ad32",
      "parents": [
        "b0f033227b07b266a1523cd256d687e2bd05b505"
      ],
      "author": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 12 21:30:52 2012"
      },
      "committer": {
        "name": "danielsmyers",
        "email": "danielsmyers@1cc9d426-c294-39be-ba72-c0199ca0f247",
        "time": "Fri Oct 12 21:30:52 2012"
      },
      "message": "Add DEMO object/client sources to Java tree.\n\n\ngit-svn-id: http://google-cache-invalidation-api.googlecode.com/svn/trunk@230 1cc9d426-c294-39be-ba72-c0199ca0f247\n"
    }
  ],
  "next": "b0f033227b07b266a1523cd256d687e2bd05b505"
}
