)]}'
{
  "log": [
    {
      "commit": "f5b90f74b73a077d8eebfb746a52504bd32044d0",
      "tree": "eb45562322affc9e4966d5b17180a003aeeea77b",
      "parents": [
        "66b6df1789620ac3983d08881786660aa6bfc470"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Mon Aug 18 14:57:53 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Mon Aug 18 14:57:53 2014 -0700"
      },
      "message": "Correct error message for port 3269\n"
    },
    {
      "commit": "66b6df1789620ac3983d08881786660aa6bfc470",
      "tree": "124313c1713d8ddc217f34b8ee3e12b0aad35592",
      "parents": [
        "0fa4fb151bd5179f1f614fba1da15d9c6bc7f5b2"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Tue Jul 15 14:44:56 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Jul 16 14:21:24 2014 -0700"
      },
      "message": "Add support for user/group search rules \u0026 baseDNs\n\nThis is for feature request b/8757112.\n"
    },
    {
      "commit": "0fa4fb151bd5179f1f614fba1da15d9c6bc7f5b2",
      "tree": "c11dd12673d2cfb725a137c7a250261678448e4a",
      "parents": [
        "0d804a70a058e9a0890b72c1b69aa0c611c20180"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Jul 09 11:11:59 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Jul 09 11:11:59 2014 -0700"
      },
      "message": "Remove \"ad.domain\" property from overview\n"
    },
    {
      "commit": "0d804a70a058e9a0890b72c1b69aa0c611c20180",
      "tree": "23da2829b31294a23362a16b1d4ca34116045fd1",
      "parents": [
        "18c07080d8b7b76111025067293edfc8c74b278d"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Fri Jun 27 17:47:01 2014 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Fri Jun 27 18:30:00 2014 -0700"
      },
      "message": "add more optional config keys\n"
    },
    {
      "commit": "18c07080d8b7b76111025067293edfc8c74b278d",
      "tree": "13866ba27faa8e18cc1c1813122ba730a952d69f",
      "parents": [
        "6f6a930fdec746fef3d301f196539aed0fd82fbb"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Jun 25 15:46:19 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Jun 25 15:46:19 2014 -0700"
      },
      "message": "Detect non-AD server at initialization time\n\nand throw an InvalidConfigurationException upon detection.\nThis fixes b/7061071.\n"
    },
    {
      "commit": "6f6a930fdec746fef3d301f196539aed0fd82fbb",
      "tree": "fb4654de759b176e9d4e474b586c28b68af19e3a",
      "parents": [
        "4c1340b28496b0bfd5f76b2b24570fb618c36eda"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Jun 11 13:25:33 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Jun 11 13:25:33 2014 -0700"
      },
      "message": "Loosening the parseForeignSecurityPrincipal regex\n\nto allow more \"valid\" well-known SIDs through.\n"
    },
    {
      "commit": "4c1340b28496b0bfd5f76b2b24570fb618c36eda",
      "tree": "9965115f1e74cff263e04b9c3c96fe755b2c8ff2",
      "parents": [
        "3bc923696d41710f3228b6405465ce7584d701ac",
        "83aec0171bc832c42f01a3f7321b27d73a78da8f"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri May 30 10:19:54 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri May 30 10:19:54 2014 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of https://code.google.com/p/plexi.ad\n"
    },
    {
      "commit": "3bc923696d41710f3228b6405465ce7584d701ac",
      "tree": "f5af9a17eaea6a7056bec6ab74f5f76cb4ae25fa",
      "parents": [
        "31a2da740c995f1227f99f871089f3f8156a8be2"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed May 28 12:57:23 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri May 30 10:16:26 2014 -0700"
      },
      "message": "Have incremental crawl update the \"everyone\" group\n\nThis fixes b/15155221 and b/15156405.\n"
    },
    {
      "commit": "83aec0171bc832c42f01a3f7321b27d73a78da8f",
      "tree": "e9b619362462c4ddfeec3a40c76c517f559775a9",
      "parents": [
        "31a2da740c995f1227f99f871089f3f8156a8be2"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Fri May 16 00:03:27 2014 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Fri May 16 00:03:27 2014 -0700"
      },
      "message": "move lib/plexi to 4.0.2\n"
    },
    {
      "commit": "31a2da740c995f1227f99f871089f3f8156a8be2",
      "tree": "9962553db8e8b217e9c4c6ef05bdf2d778dcf6f1",
      "parents": [
        "2a80f5c2a4d8f32b55dfe0f9483e7193530472b4"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed May 07 11:12:24 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed May 07 11:12:24 2014 -0700"
      },
      "message": "Have AdServer/AdAdaptor use new Startup exceptions\n"
    },
    {
      "commit": "2a80f5c2a4d8f32b55dfe0f9483e7193530472b4",
      "tree": "6d02f767e17866f8cde497bb1e40facf5fbb93fb",
      "parents": [
        "ed4dfd8b2ecfd0df38989f9155527bb7780e7f4a"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed May 07 10:42:34 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed May 07 10:42:34 2014 -0700"
      },
      "message": "Updating to the latest version of the library\n"
    },
    {
      "commit": "ed4dfd8b2ecfd0df38989f9155527bb7780e7f4a",
      "tree": "08faa5a9b47d6acf65c634f76001199689fa03a7",
      "parents": [
        "7d59401763603f28cb51c1b775b5ceae69262987"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Mon Apr 28 14:37:13 2014 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Mon Apr 28 14:37:13 2014 -0700"
      },
      "message": "add service line and dashboard port to javadoc\n"
    },
    {
      "commit": "7d59401763603f28cb51c1b775b5ceae69262987",
      "tree": "cf4d5ac00ed6ed3a93c3c873eb8324cd29810cea",
      "parents": [
        "3ff89c024fe51ff6edf4faa1fa53f75b531ee796"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Apr 09 12:57:56 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri Apr 11 12:20:07 2014 -0700"
      },
      "message": "Make a \"nicer\" exception on connection errors\n"
    },
    {
      "commit": "3ff89c024fe51ff6edf4faa1fa53f75b531ee796",
      "tree": "917f179d4e964292a581ba9e34485c65c2325ffe",
      "parents": [
        "d0feaf1235f23319cbc20ebc23663df569020f17"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Apr 09 11:05:17 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Apr 09 11:05:17 2014 -0700"
      },
      "message": "Fix broken AdAdaptor NPE on init\n\nwhen per-server password is not specified\n"
    },
    {
      "commit": "d0feaf1235f23319cbc20ebc23663df569020f17",
      "tree": "b8fe94ef2da7c3063b91f105cc4cfb88b98bcea3",
      "parents": [
        "7f57982f943de3bcf74c9a2b76e5536e6884e3b4"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri Apr 04 16:04:12 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Tue Apr 08 14:08:40 2014 -0700"
      },
      "message": "Incremental Crawl Phase 2\n\nThis makes incremental crawl more efficient.\n"
    },
    {
      "commit": "7f57982f943de3bcf74c9a2b76e5536e6884e3b4",
      "tree": "85275e121d074a01daee0362d291b85a3c183129",
      "parents": [
        "f137956b6a8646bc4abbafa32f78d8ddd78c53cd"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Mon Apr 07 15:18:36 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Mon Apr 07 16:56:23 2014 -0700"
      },
      "message": "Add a parameter to control LDAP read timeout time\n\nThis is to solve b/13730776 (by allowing a user to add a line to\nthe adaptor-config.properties file to increase the timeout time).\n"
    },
    {
      "commit": "f137956b6a8646bc4abbafa32f78d8ddd78c53cd",
      "tree": "9eb2db08b55c0f6138ccebe677a16587e12423b3",
      "parents": [
        "6d3aa20e47aa24d76e86b6eeacbba6f494fe6cec"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Sun Mar 30 15:33:40 2014 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Sun Mar 30 15:33:40 2014 -0700"
      },
      "message": "support passwords in config file being encrypted\n"
    },
    {
      "commit": "6d3aa20e47aa24d76e86b6eeacbba6f494fe6cec",
      "tree": "9c70f6e7a8b372b9c0fa320ebf11398095a0041e",
      "parents": [
        "311f68c9746b330062d6a1e80a935ea5a1ddbd74"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Tue Mar 25 16:44:41 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Tue Mar 25 16:44:41 2014 -0700"
      },
      "message": "Update lib/plexi to remove \"reload config\" button\n"
    },
    {
      "commit": "311f68c9746b330062d6a1e80a935ea5a1ddbd74",
      "tree": "69fb626c7b595567c47740e94fb76b5577b9ea06",
      "parents": [
        "2f90aad14b39368f2b1b90da899e93a19c26df5b"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Tue Mar 25 15:47:58 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Tue Mar 25 15:47:58 2014 -0700"
      },
      "message": "Added version number to AD manifest\n"
    },
    {
      "commit": "2f90aad14b39368f2b1b90da899e93a19c26df5b",
      "tree": "d370943baaed2712ae6dc2f833424ff89a845f73",
      "parents": [
        "3bfa59fbc2aada51488fefde1b2eaaa3233704d6"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Thu Mar 13 18:57:32 2014 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Thu Mar 13 18:57:32 2014 -0700"
      },
      "message": "roll plexi lib forward to touch past v4.0.1\n\nactual plexi lib commit id: ed5beb08bde3567428bdb428c4827d6156f09715\n"
    },
    {
      "commit": "3bfa59fbc2aada51488fefde1b2eaaa3233704d6",
      "tree": "14ff93c9cbe9ebdeccfe632830dfdfe453a9cc0b",
      "parents": [
        "11985ec4f634bfdc0f9aac9365b61b0c16d24445"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Thu Mar 13 14:41:25 2014 -0700"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Thu Mar 13 15:30:06 2014 -0700"
      },
      "message": "Take care of 3 \"low-hanging\" TODOs in AdAdaptor\n"
    },
    {
      "commit": "11985ec4f634bfdc0f9aac9365b61b0c16d24445",
      "tree": "e2fb90193797de7d360cd237c5e111621218894e",
      "parents": [
        "48c3f4ffe9b30fcf6f437b82911f1fbdbccc3307"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri Feb 21 12:32:26 2014 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Thu Mar 13 11:11:03 2014 -0700"
      },
      "message": "Introduce incremental push logic into AdAdaptor\n"
    },
    {
      "commit": "48c3f4ffe9b30fcf6f437b82911f1fbdbccc3307",
      "tree": "472f2e99962eb9c4324f27c6bc35fee0b311bb60",
      "parents": [
        "18e204c641c4becdd2b8270504dfbf27811d50be",
        "5a3b41cfed0457a17ed22df6736176fc3469ee0c"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Thu Feb 20 15:35:15 2014 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Thu Feb 20 15:35:15 2014 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of https://code.google.com/p/plexi.ad\n\nConflicts:\n\tsrc/com/google/enterprise/adaptor/ad/AdAdaptor.java\n\ttest/com/google/enterprise/adaptor/ad/AdAdaptorTest.java\n"
    },
    {
      "commit": "5a3b41cfed0457a17ed22df6736176fc3469ee0c",
      "tree": "60e7b827e8bbd5ee11f2bd21b560c665658da39e",
      "parents": [
        "d01906503af1019cb52f5892065f223a1d50aff4"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Tue Feb 18 10:26:53 2014 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Feb 19 14:45:01 2014 -0800"
      },
      "message": "Fix b/13032911 by reestablishing ldapContext\n\nBug fix determined by observing new message in the log, followed by\nsubsequent fetches working again.\n\n(moved AdServer.initialize() call to AdAdaptor.init())\n"
    },
    {
      "commit": "18e204c641c4becdd2b8270504dfbf27811d50be",
      "tree": "2e3876b212415ddb29c2f28f6c395a16fe38d531",
      "parents": [
        "d01906503af1019cb52f5892065f223a1d50aff4"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Feb 05 13:43:38 2014 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Feb 05 13:43:38 2014 -0800"
      },
      "message": "Introduce incremental push logic into AdAdaptor\n"
    },
    {
      "commit": "d01906503af1019cb52f5892065f223a1d50aff4",
      "tree": "8ea3bf23c7b10dabe16f8ed7db4eede5ffdf5975",
      "parents": [
        "9047154fcab5cf12519449f59b345f21ce75a6e1"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Tue Jan 28 11:35:45 2014 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Tue Jan 28 11:35:45 2014 -0800"
      },
      "message": "Increase log level (for missing groups) to WARNING\n"
    },
    {
      "commit": "9047154fcab5cf12519449f59b345f21ce75a6e1",
      "tree": "3a0760d31e5809e2066d6eaa3141bd5faa053d7e",
      "parents": [
        "1d8dcdb10b032c23351c2f4ea2a1b3f71b5b3303",
        "41bc55705bd54ebbf40dd957838533602388f79b"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Mon Jan 27 13:05:53 2014 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Mon Jan 27 13:05:53 2014 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of https://code.google.com/p/plexi.ad\n"
    },
    {
      "commit": "41bc55705bd54ebbf40dd957838533602388f79b",
      "tree": "28f105191a84efcd72aabc0934440909d74865b6",
      "parents": [
        "44281736718202bac98366c7ce4ac34c7ff1d12a"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Mon Jan 27 11:26:32 2014 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Mon Jan 27 13:02:17 2014 -0800"
      },
      "message": "Handle missing groups [resolvePrimaryGroups]\n\nSplit from issue 55210043.\n"
    },
    {
      "commit": "1d8dcdb10b032c23351c2f4ea2a1b3f71b5b3303",
      "tree": "53e13e2e47d5a532e1acd35254b85b547d0fabfa",
      "parents": [
        "44281736718202bac98366c7ce4ac34c7ff1d12a"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Tue Jan 21 11:09:17 2014 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Mon Jan 27 12:51:38 2014 -0800"
      },
      "message": "Remove members of disabled groups\n\nThis version leaves disabled users unchanged (authentication will be\ndone by the GSA).\n"
    },
    {
      "commit": "44281736718202bac98366c7ce4ac34c7ff1d12a",
      "tree": "4f41e4e0850a6b65128f9f953812957704538289",
      "parents": [
        "c6a84f2af9893147551e2fc9747489794a26c812"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Thu Jan 09 17:43:46 2014 -0800"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Thu Jan 09 17:43:46 2014 -0800"
      },
      "message": "give adaptor its own copy of junit jar\n"
    },
    {
      "commit": "c6a84f2af9893147551e2fc9747489794a26c812",
      "tree": "e450cd4b6702abcd65f409b0c8f442cd38aa03d0",
      "parents": [
        "442a99d1ee173ce6a83ef37f2fa3995ae8de0a0d"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri Dec 20 13:02:08 2013 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri Dec 20 13:02:08 2013 -0800"
      },
      "message": "Add one small test to get Method coverage to 100%\n"
    },
    {
      "commit": "442a99d1ee173ce6a83ef37f2fa3995ae8de0a0d",
      "tree": "28422913d956277b5dc98a9b9306b12d282edbee",
      "parents": [
        "9ad4104dc6970b8ed9ae6660912d51355146cbe1"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri Dec 13 15:49:54 2013 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri Dec 20 12:14:05 2013 -0800"
      },
      "message": "Clean up and add unit tests for AdAdaptor.java\n\nAs part of the testing framework, imported a few helper test files\n(AccumulatingDocIdPusher, DelegatingDocIdPusher, and UnsupportedDocIdPusher)\nfrom the Sharepoint library, as well as TestHelper from the standard library.\n(Only a couple of methods - those actually used - were retained there.)\n\nThis submission also removes the AdConstants and AdMembership classes, as\nthey are no longer needed.  In addition, it adds an equal() method to both\nthe AdAdaptor.GroupProperties and AdEntity classes.\n"
    },
    {
      "commit": "9ad4104dc6970b8ed9ae6660912d51355146cbe1",
      "tree": "79c2ff781a8e80207d8f199d52d96cc360f38704",
      "parents": [
        "67871c45adc51dd1dc8c1f7b5d6047df51d31618"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Thu Dec 12 10:38:40 2013 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri Dec 13 14:19:57 2013 -0800"
      },
      "message": "Allow either user or password to be overridden\n\nCurrent behavior:\n* Default user and default password must be specified;\n* Overriding both user and password for a given server is allowed;\n* Overriding just the password for a given server is allowed;\n* Overriding just the user for a given server gives an error.\n\nNew behavior:\n* Default user and default password no longer needed.\n* If a per-server user and/or password is specified, use it\n  (otherwise, use the default).\n* If the user and/or password is non-empty, throw the exception.\n"
    },
    {
      "commit": "67871c45adc51dd1dc8c1f7b5d6047df51d31618",
      "tree": "108ed1a032528ca980187023ff5a126d3d439b88",
      "parents": [
        "5c8e031faef0eeb751cb739c33354c234ceb9e9a"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Dec 11 13:25:13 2013 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Dec 11 13:33:35 2013 -0800"
      },
      "message": "Recover from IllegalArgumentException on Principal\n\nLog the exception (as a warning) and continue the rest of the loop,\nrather than aborting the entire call to makeDefs(), when that exception\nis thrown on a call to new {Group,User}Principal.\n"
    },
    {
      "commit": "5c8e031faef0eeb751cb739c33354c234ceb9e9a",
      "tree": "457b5d7e7eef448fbfee9d3afaa64bd5bdc85a2a",
      "parents": [
        "c04bff421b48097cd74273087dc2aa3d5f2ed40b"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Dec 04 17:00:33 2013 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Thu Dec 05 13:08:52 2013 -0800"
      },
      "message": "Tweak cobertura rules to find additional classes\n\nWithout this tweak, it has problems instrumenting nested classes.\nWith this change, it can instrument them properly.\n"
    },
    {
      "commit": "c04bff421b48097cd74273087dc2aa3d5f2ed40b",
      "tree": "f700e5e4c5adcdfad6c746dc412200ca751d4f92",
      "parents": [
        "57e8ed4421473404e7f140bbe570324372150153"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Dec 04 13:32:51 2013 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Dec 04 14:29:42 2013 -0800"
      },
      "message": "Make inner GroupCatalog static \u0026 VisibleForTesting.\n"
    },
    {
      "commit": "57e8ed4421473404e7f140bbe570324372150153",
      "tree": "e2c9b6c449f4f519455429dba3e845607bf5d30a",
      "parents": [
        "803ccf37b779889c82abc7f8d641a350e7ad9296",
        "9a5f7b5b71e5231a92d613f7ba6ffd389aa11902"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Dec 04 13:27:58 2013 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Dec 04 13:27:58 2013 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of https://code.google.com/p/plexi.ad\n\nConflicts:\n\tsrc/com/google/enterprise/adaptor/ad/AdEntity.java\n"
    },
    {
      "commit": "803ccf37b779889c82abc7f8d641a350e7ad9296",
      "tree": "e2c9b6c449f4f519455429dba3e845607bf5d30a",
      "parents": [
        "af92884bfd2fb7d74a8757052fa8d0beb806e884"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Mon Dec 02 14:22:57 2013 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Tue Dec 03 14:53:41 2013 -0800"
      },
      "message": "Clean up and add unit tests for AdEntity.java\n\nFuture submissions will similary improve AdAdaptor.java.\n"
    },
    {
      "commit": "9a5f7b5b71e5231a92d613f7ba6ffd389aa11902",
      "tree": "dcac24f48981ae516120a19a4930d45a4084320c",
      "parents": [
        "af92884bfd2fb7d74a8757052fa8d0beb806e884"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Mon Dec 02 14:22:57 2013 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Mon Dec 02 14:22:57 2013 -0800"
      },
      "message": "Clean up and add unit tests for AdEntity.java\n\nFuture submissions will similary improve AdAdaptor.java.\n"
    },
    {
      "commit": "af92884bfd2fb7d74a8757052fa8d0beb806e884",
      "tree": "16991a25cf8750261c69ef0df05d6a043bdc4996",
      "parents": [
        "4954e45fff849da03eee9cc6de446862642ab634",
        "c0799e67a8868e46e08be7227827a5b03f415307"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri Nov 22 16:24:47 2013 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri Nov 22 16:24:47 2013 -0800"
      },
      "message": "Fix issues raised in Code Review.\n\nConflicts:\n\tsrc/com/google/enterprise/adaptor/ad/AdServer.java\n\ttest/com/google/enterprise/adaptor/ad/AdServerTest.java\n\ttest/com/google/enterprise/adaptor/ad/MockLdapContext.java\n"
    },
    {
      "commit": "4954e45fff849da03eee9cc6de446862642ab634",
      "tree": "1f73f39a7ef49d7a00d2d6e22550d77b5a8b446b",
      "parents": [
        "77001c3b87510dfa414560ddf1d6027ab38bce2a",
        "e45af07844e4ac2f9c40c9edd61a850b4d4e9545"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri Nov 22 16:13:44 2013 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri Nov 22 16:13:44 2013 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of https://code.google.com/p/plexi.ad\n"
    },
    {
      "commit": "c0799e67a8868e46e08be7227827a5b03f415307",
      "tree": "dced377ab130f2bddef8aa6dcd88e9d5bc741300",
      "parents": [
        "c1d887cb3f642e30c53e915c1a176976bf333ee3"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Nov 20 15:41:41 2013 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Fri Nov 22 14:53:00 2013 -0800"
      },
      "message": "Clean up and add unit tests for AdServer.java\n\nFuture submissions will similarly improve AdEntity.java and AdAdaptor.java.\n"
    },
    {
      "commit": "77001c3b87510dfa414560ddf1d6027ab38bce2a",
      "tree": "f35080d538232434c256a72c4f9f9bcd5ba8cede",
      "parents": [
        "c1d887cb3f642e30c53e915c1a176976bf333ee3"
      ],
      "author": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Nov 20 15:41:41 2013 -0800"
      },
      "committer": {
        "name": "Marc Kriguer",
        "email": "myk@google.com",
        "time": "Wed Nov 20 15:41:41 2013 -0800"
      },
      "message": "Clean up and add unit tests for AdServer.java\n\nFuture submissions will similarly improve AdEntity.java and AdAdaptor.java.\n"
    },
    {
      "commit": "e45af07844e4ac2f9c40c9edd61a850b4d4e9545",
      "tree": "e6111b9fa5a4f8619a6651a8c22aac44941ab5f8",
      "parents": [
        "53d20c9349410d9ff821d2d030cec475aecc5d48"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Wed Nov 06 18:13:28 2013 -0800"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Wed Nov 06 18:13:28 2013 -0800"
      },
      "message": "remove jsvc line from deployment guide\n"
    },
    {
      "commit": "53d20c9349410d9ff821d2d030cec475aecc5d48",
      "tree": "3eca76e6ce59adba60d398d89620fb39315af55f",
      "parents": [
        "1853d07551e15b0930705ac59efedd25cfd68be3"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Tue Nov 05 16:53:31 2013 -0800"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Tue Nov 05 16:53:31 2013 -0800"
      },
      "message": "adjust example command line to not have backslash\n"
    },
    {
      "commit": "1853d07551e15b0930705ac59efedd25cfd68be3",
      "tree": "cc645344877a409bade07162a0f81b2b92785ad2",
      "parents": [
        "c1d887cb3f642e30c53e915c1a176976bf333ee3"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Tue Nov 05 14:15:53 2013 -0800"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Tue Nov 05 14:15:53 2013 -0800"
      },
      "message": "enhance deployment info\n"
    },
    {
      "commit": "c1d887cb3f642e30c53e915c1a176976bf333ee3",
      "tree": "80df479317098f2245e72a7310944b27d84b0832",
      "parents": [
        "3595ccc618f8b83e862cab7190d9d4a7cdf6ea23"
      ],
      "author": {
        "name": "Eric Anderson",
        "email": "ejona@google.com",
        "time": "Mon Nov 04 10:18:26 2013 -0800"
      },
      "committer": {
        "name": "Eric Anderson",
        "email": "ejona@google.com",
        "time": "Mon Nov 04 10:18:26 2013 -0800"
      },
      "message": "Update to latest plexi\n"
    },
    {
      "commit": "3595ccc618f8b83e862cab7190d9d4a7cdf6ea23",
      "tree": "feb08b32f3033afc97b6bc4c8c5ad8ce00bbb449",
      "parents": [
        "76af3f50d5c1961f6d2e9de726b341d63cf34e79"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Thu Oct 24 17:13:18 2013 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Thu Oct 24 17:13:18 2013 -0700"
      },
      "message": "deployment guide\n"
    },
    {
      "commit": "76af3f50d5c1961f6d2e9de726b341d63cf34e79",
      "tree": "3511205d117387a6eff0cd74975e2a6c1e12b4ba",
      "parents": [
        "132418ff144197c147da935fadaf2f8b31444347"
      ],
      "author": {
        "name": "tvartak@google.com",
        "email": "tvartak@google.com",
        "time": "Tue Sep 17 14:13:24 2013 -0700"
      },
      "committer": {
        "name": "tvartak@google.com",
        "email": "tvartak@google.com",
        "time": "Tue Sep 17 14:13:24 2013 -0700"
      },
      "message": "BUILTIN group handling for AD Adaptor\nCode Review : https://codereview.appspot.com/13701045/\n"
    },
    {
      "commit": "132418ff144197c147da935fadaf2f8b31444347",
      "tree": "655f7a7560c928edc1f2d861dccbd00988e85225",
      "parents": [
        "fdb1171cd15b149d85206940464bf2426949a782"
      ],
      "author": {
        "name": "tvartak@google.com",
        "email": "tvartak@google.com",
        "time": "Fri Sep 13 15:04:03 2013 -0700"
      },
      "committer": {
        "name": "tvartak@google.com",
        "email": "tvartak@google.com",
        "time": "Fri Sep 13 15:04:03 2013 -0700"
      },
      "message": "feed well known group membership for users\nCode Review : https://codereview.appspot.com/13675043/\n"
    },
    {
      "commit": "fdb1171cd15b149d85206940464bf2426949a782",
      "tree": "42dc3ba2aab104a724298d58809778e88a773ea5",
      "parents": [
        "df5763b6271f412228aea2b9de923977d80720e7"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Tue Aug 27 14:53:21 2013 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Tue Aug 27 17:50:13 2013 -0700"
      },
      "message": "minor tweaks to AdAdaptor.java\n"
    },
    {
      "commit": "df5763b6271f412228aea2b9de923977d80720e7",
      "tree": "c798d0d04cba599563be5bca4c011f2952007f7f",
      "parents": [
        "0bb359c41c2661294e382058cbd2c74b23373d8f"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Mon Aug 26 20:16:26 2013 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Mon Aug 26 20:16:26 2013 -0700"
      },
      "message": "update plexi\n"
    },
    {
      "commit": "0bb359c41c2661294e382058cbd2c74b23373d8f",
      "tree": "f68251c5b919970c3b470b5f081d2b82c550ee16",
      "parents": [
        "fa12a2309214bd0387a609968f7f2a5ff9a14b01"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Mon Aug 26 20:14:37 2013 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Mon Aug 26 20:14:37 2013 -0700"
      },
      "message": "initialize members from AdEntity.getMembers() and add logs\n"
    },
    {
      "commit": "fa12a2309214bd0387a609968f7f2a5ff9a14b01",
      "tree": "de845ce72e56595caf611f95ec89ae4eac2fa6a0",
      "parents": [
        "0df4a1d3d169bb353e24b0f4dc79396b8b1a334b"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Fri Aug 23 15:06:10 2013 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Fri Aug 23 15:06:10 2013 -0700"
      },
      "message": "corrections based on review\n"
    },
    {
      "commit": "0df4a1d3d169bb353e24b0f4dc79396b8b1a334b",
      "tree": "7216ce1fd0d07db6b1b72751c2fadbbc26a29951",
      "parents": [
        "dd2751d86c463940bda65bb2f36c019b1acf2b02"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Wed Aug 21 21:57:54 2013 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Wed Aug 21 22:01:19 2013 -0700"
      },
      "message": "full index of groups\n"
    },
    {
      "commit": "dd2751d86c463940bda65bb2f36c019b1acf2b02",
      "tree": "28407e874c96f21aacb350ebd23fcd02c20278f8",
      "parents": [
        "5904abaa11921419f8b752df0243e583fa9e903b"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Thu Aug 15 18:59:11 2013 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Thu Aug 15 18:59:11 2013 -0700"
      },
      "message": "update plexi to expose config-lists parsing\n"
    },
    {
      "commit": "5904abaa11921419f8b752df0243e583fa9e903b",
      "tree": "82e8f0b616a76eaf58d3f7e52f5c7c1880c91b2a",
      "parents": [
        "9e434172592a17875505fee88272366df36e2812"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Wed Aug 14 21:45:59 2013 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Wed Aug 14 21:45:59 2013 -0700"
      },
      "message": "making connection to ldap\n"
    },
    {
      "commit": "9e434172592a17875505fee88272366df36e2812",
      "tree": "3e9aa2dc55c07c3515243e6960b4140c97e68695",
      "parents": [
        "79c9f57dd3f5ba9f949523dc657574bd1f43a019"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Mon Aug 12 21:42:47 2013 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Mon Aug 12 21:42:47 2013 -0700"
      },
      "message": "remove Adaptor example src from AdAdaptor body\n"
    },
    {
      "commit": "79c9f57dd3f5ba9f949523dc657574bd1f43a019",
      "tree": "9eb3f77faa08e21217c66719820bbd7a7d5fa801",
      "parents": [
        "7de29ea9c3c9ae09b2f425aaeb1e73581d0292b1"
      ],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Mon Jul 22 18:23:37 2013 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Mon Jul 22 19:45:34 2013 -0700"
      },
      "message": "layout active directory repo; no functionality yet\n"
    },
    {
      "commit": "7de29ea9c3c9ae09b2f425aaeb1e73581d0292b1",
      "tree": "126a56142eb8ba06045196a271616dda7f8a8cdf",
      "parents": [],
      "author": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Mon Jul 22 16:56:13 2013 -0700"
      },
      "committer": {
        "name": "PJ",
        "email": "pjo@google.com",
        "time": "Mon Jul 22 16:56:13 2013 -0700"
      },
      "message": "start active directory repo\n"
    }
  ]
}
