)]}'
{
  "log": [
    {
      "commit": "678bb0eefa62cbad33363d38ef4ccc8567c38a4e",
      "tree": "68dff789c21b7114161437176fa0c319b0ff51c2",
      "parents": [
        "e6bcce50498957460ff986940e721f85b6e5eb57"
      ],
      "author": {
        "name": "iannucci",
        "email": "iannucci@chromium.org",
        "time": "Tue Aug 08 21:56:19 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 08 21:56:19 2017"
      },
      "message": "Rename deployment manifests back to source manifests.\n\nNot only was the previous commit message wrong, but we wanted to call\nthem source manifests anyway.\n\nR\u003ddnj@chromium.org, hinoka@chromium.org\nBUG\u003d468053\n\nReview-Url: https://codereview.chromium.org/2999493002\n"
    },
    {
      "commit": "e6bcce50498957460ff986940e721f85b6e5eb57",
      "tree": "cb4b577d7138b18ba10bdb0a2ff4fb5db2576778",
      "parents": [
        "af941fc225f54cab9a5f6cd6f6bac0c64afe8bb5"
      ],
      "author": {
        "name": "tandrii",
        "email": "tandrii@chromium.org",
        "time": "Tue Aug 08 21:29:59 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 08 21:29:59 2017"
      },
      "message": "scheduler: make debug output for ACLs checks contain JobID.\n\nR\u003dvadimsh@chromium.org\nBUG\u003d736770\n\nReview-Url: https://codereview.chromium.org/2993953002\n"
    },
    {
      "commit": "af941fc225f54cab9a5f6cd6f6bac0c64afe8bb5",
      "tree": "8144996ffe3beecce76175d3360a2bb9a24ec418",
      "parents": [
        "8041575c0cc31396d49f3662172d6227f5dff7bd"
      ],
      "author": {
        "name": "tandrii",
        "email": "tandrii@chromium.org",
        "time": "Tue Aug 08 19:35:20 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 08 19:35:20 2017"
      },
      "message": "scheduler ACLs: Add debug lines.\n\nBUG\u003d736770\n\nReview-Url: https://codereview.chromium.org/3000513002\n"
    },
    {
      "commit": "8041575c0cc31396d49f3662172d6227f5dff7bd",
      "tree": "89d247d902f0981591f702a1d4681c97e036ca8a",
      "parents": [
        "23372de1dbe84de8c9d3fccef791341f5fa369fc"
      ],
      "author": {
        "name": "tandrii",
        "email": "tandrii@chromium.org",
        "time": "Tue Aug 08 19:31:20 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 08 19:31:20 2017"
      },
      "message": "scheduler ACLs: improve ACL-related error handling in UI and API.\n\nR\u003dvadimsh@chromium.org\nBUG\u003d736770\n\nReview-Url: https://codereview.chromium.org/2993933002\n"
    },
    {
      "commit": "23372de1dbe84de8c9d3fccef791341f5fa369fc",
      "tree": "9c78fa6ccde71b9a4ba1169092a1f6d130ee012d",
      "parents": [
        "84692af28c1726ba97d84dde6ec5bfb691add08e"
      ],
      "author": {
        "name": "tandrii",
        "email": "tandrii@chromium.org",
        "time": "Tue Aug 08 19:22:45 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 08 19:22:45 2017"
      },
      "message": "scheduler ACLs: fix ACLs saving upon job config change.\n\nR\u003dvadimsh@chromium.org\nBUG\u003d736770\n\nReview-Url: https://codereview.chromium.org/2998623002\n"
    },
    {
      "commit": "84692af28c1726ba97d84dde6ec5bfb691add08e",
      "tree": "3ebd4c2c0da6620022fc4d643bd992e959ecfc7f",
      "parents": [
        "1870e44fd36cb9dbb2fc4e7ae0e09b5938ff4a9c"
      ],
      "author": {
        "name": "tandrii",
        "email": "tandrii@chromium.org",
        "time": "Tue Aug 08 12:57:42 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 08 12:57:42 2017"
      },
      "message": "[scheduler]: ACLs phase 2 - warn if Job/Trigger don\u0027t have ACLs.\n\nR\u003dvadimsh@chromium.org\nBUG\u003d736770\n\nReview-Url: https://codereview.chromium.org/2993793004\n"
    },
    {
      "commit": "1870e44fd36cb9dbb2fc4e7ae0e09b5938ff4a9c",
      "tree": "d8d291aa9abc68ad3852b60dfac1c5ead14f6798",
      "parents": [
        "0377d2719f9ea31ca5c1abd5b519ef25f9833571"
      ],
      "author": {
        "name": "tandrii",
        "email": "tandrii@chromium.org",
        "time": "Tue Aug 08 12:40:33 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 08 12:40:33 2017"
      },
      "message": "scheduler: fix import.\n\nTBR\u003dvadimsh@chromium.org\nBUG\u003d736770\n\nReview-Url: https://codereview.chromium.org/2996633002\n"
    },
    {
      "commit": "0377d2719f9ea31ca5c1abd5b519ef25f9833571",
      "tree": "85faea8f1c4ff2a82fecae95f0eccf1a79b24323",
      "parents": [
        "d009bb905fb8f3f9d23f477c91039b055c0cf857"
      ],
      "author": {
        "name": "tandrii",
        "email": "tandrii@chromium.org",
        "time": "Tue Aug 08 07:46:27 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 08 07:46:27 2017"
      },
      "message": "[scheduler]: ACLs phase 1 - per Job ACL specification and enforcement.\n\nThis CL:\n\n * allows specifying READER and OWNER acls per Job/Trigger definition:\n\n   * READER is who can see Job and **all** its invocations, including\n     those finished long ago under potentially more restrictive ACLs.\n   * OWNER is who can affect Job state manually through API or UI such\n     as `AbortJob` and `PauseJob`.\n\n * boilerplate reduction by means of acl_set defined per project\n   and referenced in Job/Trigger definitions.\n\n * ACL spec per Job/Trigger is **not yet** required. If not specified,\n   defaults to current behavior of READER\u003dall OWNER\u003dscheduler admins.\n\n * ACLs introduced do not limit which Jobs can be triggered by which Triggers.\n   However, triggering functionality doesn\u0027t exist yet, so this doesn\u0027t matter.\n\nOn deployment:\n\n * This CL has backwards compatibility and can be deployed without breaking\n   anything.\n\n * Once deployed, this CL can be reverted and things will work as before.\n   This imples in particular that all configured READER ACLs will be ignored\n   and default to READER\u003dall (see also warning in cron.proto).\n\n * Plan:\n\n   1. Deploy this CL.\n   2. Update existing configs to specify ACLs with explicit READER\u003dall and\n      OWNER\u003dproject-\u003cNAME\u003e-owners.\n   2. Deploy requirement to specify ACLs for all Jobs and remove currently\n      implicit default ACLs.\n\nR\u003dvadimsh@chromium.org\nBug\u003d736770\n\nReview-Url: https://codereview.chromium.org/2986033003\n"
    },
    {
      "commit": "d009bb905fb8f3f9d23f477c91039b055c0cf857",
      "tree": "cce431b23d6cc91abee502d6caf7e55e3b1d1792",
      "parents": [
        "1339415b6d85915643dab1abfa32d02248e7417a"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Mon Aug 07 22:59:23 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Mon Aug 07 22:59:23 2017"
      },
      "message": "tokenserver: Extract rules check into a separate function.\n\nIt will be reused by MintOAuthTokenViaGrant to recheck the rules when the grant\ntoken is exercised.\n\nAlso start using it in InspectOAuthTokenGrant, to make this check more useful.\n\nR\u003dsmut@google.com\nBUG\u003d731843\n\nReview-Url: https://codereview.chromium.org/2993763002\n"
    },
    {
      "commit": "1339415b6d85915643dab1abfa32d02248e7417a",
      "tree": "51e89704702d1bfcbf3699d9d3a2b0d8b292eb4f",
      "parents": [
        "df8718467512453e74523cffd6679e59f05abfb3"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Sat Aug 05 02:14:26 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Sat Aug 05 02:14:26 2017"
      },
      "message": "tokenserver: Implement InspectOAuthTokenGrant RPC.\n\nIt can be used by admins to see what\u0027s inside of a token (when debugging stuff).\n\nR\u003dsmut@google.com\nBUG\u003d731843\n\nReview-Url: https://codereview.chromium.org/2999483002\n"
    },
    {
      "commit": "df8718467512453e74523cffd6679e59f05abfb3",
      "tree": "62a70a56b5fca375e533b94c92c051cc0e9af726",
      "parents": [
        "ddc861e154feb36e78c0b7b0784cacfab6414f70"
      ],
      "author": {
        "name": "iannucci",
        "email": "iannucci@chromium.org",
        "time": "Sat Aug 05 00:40:47 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Sat Aug 05 00:40:47 2017"
      },
      "message": "[annotee] add SOURCE_MANIFEST annotation.\n\nThis also changes the sha256 key to be bytes instead of string.\n\nR\u003ddnj@chromium.org, hinoka@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2994593004\n"
    },
    {
      "commit": "ddc861e154feb36e78c0b7b0784cacfab6414f70",
      "tree": "d09ea218b765d07a150432d8f6416bcd9f5dd042",
      "parents": [
        "4fa5261ebba20e82a97ae573c6dcfb4c32541a8b"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Fri Aug 04 23:56:46 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Aug 04 23:56:46 2017"
      },
      "message": "tokenserver: Implement MintOAuthTokenGrant RPC.\n\nMost of it anyway. Lacks logging to BigQuery.\n\nR\u003dsmut@google.com\nBUG\u003d731843\n\nReview-Url: https://codereview.chromium.org/2991413002\n"
    },
    {
      "commit": "4fa5261ebba20e82a97ae573c6dcfb4c32541a8b",
      "tree": "e6268131e43ba113bcfa1254a97223dee5e798fd",
      "parents": [
        "5059169d54c9243ad7234ce9174ff604b91857a9"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Fri Aug 04 23:51:29 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Aug 04 23:51:29 2017"
      },
      "message": "tokenserver: Validate and parse service_accounts.cfg rules.\n\nR\u003dsmut@google.com\nBUG\u003d731843\n\nReview-Url: https://codereview.chromium.org/2997433002\n"
    },
    {
      "commit": "5059169d54c9243ad7234ce9174ff604b91857a9",
      "tree": "2a5e35a73a5358425df972cbe4154d1d2cb204f2",
      "parents": [
        "944bd62ef8c6c11817b6cb7fccd1a84f5f8af7e8"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Fri Aug 04 23:51:07 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Aug 04 23:51:07 2017"
      },
      "message": "tokenserver: Fix some mistakes in proto docs for new token grants feature.\n\nR\u003dsmut@google.com\nBUG\u003d731843\n\nReview-Url: https://codereview.chromium.org/2986423002\n"
    },
    {
      "commit": "944bd62ef8c6c11817b6cb7fccd1a84f5f8af7e8",
      "tree": "7ee2528f9c3a50ad5f8c7640529d83761dab34c7",
      "parents": [
        "18ae6bdbc6652e10610d55e4528d4bb3c624f813"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Fri Aug 04 23:31:07 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Aug 04 23:31:07 2017"
      },
      "message": "tokenserver: Boilerplate for loading and serving service_accounts.cfg.\n\nIt closely resembles handling of delegation.cfg config file. In particular,\nit reuses most of the logic through policy.Policy class.\n\nR\u003dsmut@google.com\nBUG\u003d731843\n\nReview-Url: https://codereview.chromium.org/2993023002\n"
    },
    {
      "commit": "18ae6bdbc6652e10610d55e4528d4bb3c624f813",
      "tree": "7cc4f0fe7c3b9e728168dab7a418ef71aca8acbf",
      "parents": [
        "da9d004ddcf295086e66df450f6779839259be9c"
      ],
      "author": {
        "name": "dnj",
        "email": "dnj@chromium.org",
        "time": "Thu Aug 03 21:14:18 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Aug 03 21:14:18 2017"
      },
      "message": "[logdog] Replace Tumble with push queues.\n\nReplace Tumble with push queues for archival.\n\nCurrently, LogDog uses the Tumble journaling state machine to manage its\narchival. Tumble is generally overkill for this one-state task, but was\nchosen because it seemed, at the time, likely that it would be used\neverywhere in LUCI.\n\nAlmost two years later, LogDog is the only production major user of\nTumble. Since it barely scrapes the power of Tumble, and since Tumble\nitself is rather opaque in its operations, this trade-off is not\nworthwhile. Instead, we replace Tumble with task queues.\n\nWhen a log stream is registered, an \"expired\" task will be enqueued to\nhandle it once the stream expires (if it never gets terminated). When\nthe stream is terminated, the expiration task is deleted, replaced with\na shorter-term archival task.\n\nWe leave Tumble and its mutation handling in-place because, in\nproduction, there is still a Tumble backlog to process through. This\nshould be empited within a few days, and we can finish the removal.\n\nBUG\u003dchromium:751925\nTEST\u003dunit\n\nReview-Url: https://codereview.chromium.org/2989333002\n"
    },
    {
      "commit": "da9d004ddcf295086e66df450f6779839259be9c",
      "tree": "31ec9d3be5be055210fd613bd4099014fe7a2840",
      "parents": [
        "a2c4aedab81206b6d01b85dae474f93ce9ed804c"
      ],
      "author": {
        "name": "dnj",
        "email": "dnj@chromium.org",
        "time": "Thu Aug 03 21:03:14 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Aug 03 21:03:14 2017"
      },
      "message": "[tq] Enable task deletion.\n\nEnable named task deletion. This generalizes the task queue batching\nfunction.\n\nAdd the concept of a name suffix to the task. This allows the user to\nsupply information without discarding sharding utility.\n\nBUG\u003dchromium:751925\nTEST\u003dunit\n\nReview-Url: https://codereview.chromium.org/2986373002\n"
    },
    {
      "commit": "a2c4aedab81206b6d01b85dae474f93ce9ed804c",
      "tree": "7ff64e52df23ddac6c79d9cd62da67be2caf2274",
      "parents": [
        "6553860f73d8b8e76215fa065c38021fbffe07de"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Thu Aug 03 19:03:03 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Aug 03 19:03:03 2017"
      },
      "message": "Milo: Actually shorten step text\n\nContinuation of the fix here: https://codereview.chromium.org/2993623002/\n\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2991383002\n"
    },
    {
      "commit": "6553860f73d8b8e76215fa065c38021fbffe07de",
      "tree": "68e5d0349180e5bebd5226b1c666d27d982fc1f6",
      "parents": [
        "ff21376e5dded7b6c27746006ea432364243f51d"
      ],
      "author": {
        "name": "dnj",
        "email": "dnj@chromium.org",
        "time": "Thu Aug 03 17:48:47 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Aug 03 17:48:48 2017"
      },
      "message": "[tq] Move to top-level package.\n\nMove the \"tq\" task dispatcher to a top-level package. This is useful\noutside of scheduler, and will be used in LogDog for task dispatching.\n\nBUG\u003dchromium:751925\nTEST\u003dNone\nR\u003dvadimsh@chromium.org\n\nReview-Url: https://codereview.chromium.org/2988413002\n"
    },
    {
      "commit": "ff21376e5dded7b6c27746006ea432364243f51d",
      "tree": "060b49243181bb9ebc5bd1ec44dd3a738332bf43",
      "parents": [
        "9df595f68be87fb61fa58b72c9f7991d9d2eb2af"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Thu Aug 03 16:55:04 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Aug 03 16:55:04 2017"
      },
      "message": "Milo: Limit text field to 256 characters\n\nTo fix the string of 500 errors in the pubsub handler.\n\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2993623002\n"
    },
    {
      "commit": "9df595f68be87fb61fa58b72c9f7991d9d2eb2af",
      "tree": "43dce6d7905f875a3982c7ce816b5877518bff77",
      "parents": [
        "481a3f1aca567a50b5c42f87569619f72069f721"
      ],
      "author": {
        "name": "dnj",
        "email": "dnj@chromium.org",
        "time": "Thu Aug 03 16:26:53 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Aug 03 16:26:53 2017"
      },
      "message": "[logdog] Route registration to services module.\n\nRoute registration pRPC requests to the \"services\" module, rather than\nthe frontend.\n\nThe services module is capable of handling registration, and handles\nmost registration through explicit RPC (services-dot-...). This sort of\nrouting is already in use for the \"logdog.Services\" pRPC endpoint, so it\nis expected to work.\n\nBUG\u003dNone\nTEST\u003dNone\nR\u003dhinoka@chromium.org, iannucci@chromium.org\n\nReview-Url: https://codereview.chromium.org/2989343002\n"
    },
    {
      "commit": "481a3f1aca567a50b5c42f87569619f72069f721",
      "tree": "a8ce9638acb219b3f068e81739f2b99ebcda66a6",
      "parents": [
        "258f0c01c308e369ef4d9c96cfddfb25e7944ee9"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Thu Aug 03 15:46:14 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Aug 03 15:46:14 2017"
      },
      "message": "Milo: Console improvements\n\n* Add build link to console build item\n* Bring back categories and shortnames\n* Allow user to specify ?limit\u003d\n\nBUG\u003d468053\n\nReview-Url: https://codereview.chromium.org/2991243002\n"
    },
    {
      "commit": "258f0c01c308e369ef4d9c96cfddfb25e7944ee9",
      "tree": "a2facb75f40a8bb3115b56e5efcb306d288e5dfe",
      "parents": [
        "566e3edf53ab30546bc280d6d4e6b188414f2325"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Thu Aug 03 06:07:23 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Aug 03 06:07:23 2017"
      },
      "message": "isolate: pull exparchive and archive into functions with similar signatures.\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2989173002\n"
    },
    {
      "commit": "566e3edf53ab30546bc280d6d4e6b188414f2325",
      "tree": "e0a42e09d78997b2d019fa1d8043cd9a5e7812cc",
      "parents": [
        "31b62d1f3adcb115016e445192828829ae3ef081"
      ],
      "author": {
        "name": "dnj",
        "email": "dnj@chromium.org",
        "time": "Thu Aug 03 02:52:34 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Aug 03 02:52:34 2017"
      },
      "message": "[logdog] Fix tumble queue backend.\n\nThe \"tumble\" task queue should have pointed its requests to the backend\nmodule. This was an error transposing it from \"luci-deploy\"\nconfigurations.\n\nTBR\u003dhinoka@chromium.org\nBUG\u003dNone\nTEST\u003dNone\n\nReview-Url: https://codereview.chromium.org/2988393002\n"
    },
    {
      "commit": "31b62d1f3adcb115016e445192828829ae3ef081",
      "tree": "f60ae22bff4df116a1651ab32a598425dc1aa365",
      "parents": [
        "5e63e25d0fb4fdcc6adc8afceb24a9244f06c724"
      ],
      "author": {
        "name": "dnj",
        "email": "dnj@chromium.org",
        "time": "Thu Aug 03 00:38:17 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Aug 03 00:38:17 2017"
      },
      "message": "[logdog] Remove list functionality.\n\nLogDog has grown too large for this to be useful. List has been replaced\nin the UI with Query, which is superior for all practical purposes. Now,\nremove List entirely to reduce code burden.\n\nBUG\u003dchromium:751872\nTEST\u003dNon\n\nReview-Url: https://codereview.chromium.org/2991253004\n"
    },
    {
      "commit": "5e63e25d0fb4fdcc6adc8afceb24a9244f06c724",
      "tree": "9e6f6c22e82e2cce3909bdd3730c5a3d1801fd20",
      "parents": [
        "6ad55f6eef0b637bacc1782dc260803facb1b021"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Thu Aug 03 00:28:44 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Aug 03 00:28:44 2017"
      },
      "message": "tokenserver: Protos for service account rules.\n\nAlso slightly change RPC messages (unused yet) for consistency.\n\nR\u003dsmut@google.com\nBUG\u003d731843\n\nReview-Url: https://codereview.chromium.org/2987383002\n"
    },
    {
      "commit": "6ad55f6eef0b637bacc1782dc260803facb1b021",
      "tree": "9fd0ac0d0fca03cd478709f2944a9472f0b9d508",
      "parents": [
        "e74d1c071c854fc4b50e6d980f03164b03cdc61a"
      ],
      "author": {
        "name": "dnj",
        "email": "dnj@chromium.org",
        "time": "Thu Aug 03 00:15:07 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Aug 03 00:15:07 2017"
      },
      "message": "[logdog] Replace list view with query view.\n\nThe list view is near-useless, as the log stream space is too large to\neffectively navigate through list clicks. Replace it with a query view.\n\nThis query view is fairly simple at the moment. The intent is to improve\nit over time.\n\nBUG\u003dchromium:751872\nTEST\u003dlocal\n\nReview-Url: https://codereview.chromium.org/2991253003\n"
    },
    {
      "commit": "e74d1c071c854fc4b50e6d980f03164b03cdc61a",
      "tree": "0f9356c80b97dd037f43cbf6090d7e59ede08b90",
      "parents": [
        "2dee6bcd09b0536f4e7c1a3a41331b60bcb184e0"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Wed Aug 02 23:29:48 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Aug 02 23:29:48 2017"
      },
      "message": "scheduler: Make \u0027https://\u0027 optional in \u0027server\u0027 config field.\n\nR\u003dtandrii@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2991213003\n"
    },
    {
      "commit": "2dee6bcd09b0536f4e7c1a3a41331b60bcb184e0",
      "tree": "c0b3df83792c382b07dd8f845048a06decc73207",
      "parents": [
        "ad913aefc7240bcad0a7d52d31345b2e181b456a"
      ],
      "author": {
        "name": "dnj",
        "email": "dnj@chromium.org",
        "time": "Wed Aug 02 23:14:55 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Aug 02 23:14:55 2017"
      },
      "message": "[logdog] Stream view explicitly cancels request.\n\nCurrently, a request, when cancelled, is ignored, but is still alllowed\nto proceed. This causes HTTP requests for logs that are cancelled to\nactually cancel their underlying requests.\n\nBUG\u003dchromium:751872\nTEST\u003dNone\n\nReview-Url: https://codereview.chromium.org/2989313002\n"
    },
    {
      "commit": "ad913aefc7240bcad0a7d52d31345b2e181b456a",
      "tree": "00329905ef541853893dda52fbbdb645ab4857fb",
      "parents": [
        "fb82bfe733c86cb9d46ff4ebc0fec2d727abf8a8"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Wed Aug 02 09:41:37 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Aug 02 09:41:37 2017"
      },
      "message": "Fix mocked time in \u0027common/auth/localauth\u0027 tests.\n\nIt incorrectly set local time as test time. TestRecentTimeLocal represents\ndifferent instances in time for different local timezones (but same local clock\nreadings).\n\nThe test later compares Unix representation of this time to a predefined value.\nUnix time is always counted from UTC zone, so different moments in time have\ndifferent representations. The test hardcoded Unix representation of PST variant\nof TestRecentTimeLocal, and so tests passed only in PST zone.\n\nR\u003dtandrii@chromium.org\nBUG\u003d747013\n\nReview-Url: https://codereview.chromium.org/2988263002\n"
    },
    {
      "commit": "fb82bfe733c86cb9d46ff4ebc0fec2d727abf8a8",
      "tree": "bcc31372470fa6e00dd3cb073cae1f0be0237dd5",
      "parents": [
        "cb7f26da3ec19ba68e442d939f16a280654464d4"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Wed Aug 02 01:24:47 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Aug 02 01:24:47 2017"
      },
      "message": "tokenserver: Assume \u0027use_oauth\u0027 if \u0027oauth_scopes\u0027 is specified.\n\nR\u003dphosek@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2993563002\n"
    },
    {
      "commit": "cb7f26da3ec19ba68e442d939f16a280654464d4",
      "tree": "365e713c5aa99f35c29c7fd2d35a1d86ce837a0d",
      "parents": [
        "47c0ca721d9ac27cdee5e5c8217b883c864c52f2"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Wed Aug 02 01:17:13 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Aug 02 01:17:13 2017"
      },
      "message": "tokenserver: Support pem-encoded CRL lists.\n\nWe just attempt to parse the fetches blob as PEM, and assume it is DER if this\noperation fails. There\u0027s DER validation happening later anyhow.\n\nR\u003dphosek@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2990153002\n"
    },
    {
      "commit": "47c0ca721d9ac27cdee5e5c8217b883c864c52f2",
      "tree": "3a9d38a1f0c0c82c9eabeb3e764571bca80f1746",
      "parents": [
        "93d0bb0680c0244e179b339d92c39b76a06c7f8d"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Wed Aug 02 00:55:18 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Aug 02 00:55:18 2017"
      },
      "message": "tokenserver: Allow customizing list of OAuth scopes to use for CRL fetch.\n\nR\u003dphosek@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2988283002\n"
    },
    {
      "commit": "93d0bb0680c0244e179b339d92c39b76a06c7f8d",
      "tree": "70befd324bae1524f05b3996fee544f6c43c15c9",
      "parents": [
        "379385244aafd8eaf3342455774d102f17263a45"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Tue Aug 01 23:50:00 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 01 23:50:01 2017"
      },
      "message": "Milo Swarmbucket: Use got_revision as revision\n\nThe intended effect is that this gets placed in the revision field, which would then become indexed for console view.\n\nBUG\u003d468053\n\nReview-Url: https://codereview.chromium.org/2984143002\n"
    },
    {
      "commit": "379385244aafd8eaf3342455774d102f17263a45",
      "tree": "0374bf45dc8518d63f3898bfd507b9007d5d632e",
      "parents": [
        "810e5dc1dfbe94f009ae3cd5e0d3c92d1a375d88"
      ],
      "author": {
        "name": "dnj",
        "email": "dnj@chromium.org",
        "time": "Tue Aug 01 22:36:36 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 01 22:36:36 2017"
      },
      "message": "[logdog] Don\u0027t promote dev upload.\n\nThe Makefile forgot to set the \"--no-promote\" flag when uploading the\ndev static instance.\n\nTBR\u003dhinoka@chromium.org\nBUG\u003dNone\nTEST\u003dNone\n\nReview-Url: https://codereview.chromium.org/2990133002\n"
    },
    {
      "commit": "810e5dc1dfbe94f009ae3cd5e0d3c92d1a375d88",
      "tree": "b1cb804a971a54938c1589e6da59b8d2635388f2",
      "parents": [
        "db21483023eebb29ad6bcf00585a6b854609c657"
      ],
      "author": {
        "name": "dnj",
        "email": "dnj@chromium.org",
        "time": "Tue Aug 01 22:31:17 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 01 22:31:17 2017"
      },
      "message": "[logdog-view] Update UX, fix bugs.\n\nUpdate the LogDog Web Viewer user experience and fix a bug where the\nstream finishing wasn\u0027t always acknowledged by the UI.\n\nThis makes button visibility modal. While the stream is automatically\nloading, control buttons will be hidden. When it is paused, they will be\nshown. This will reduce the number of active buttons that the user has\nto see during log interaction.\n\nFollowing is no longer optional. It is enabled by default, and disabled\npermanently for the duration of the stream on scroll or pause. This\nremoves the need for a user to manage this option.\n\nBUG\u003dNone\nTEST\u003dlocal\n\nReview-Url: https://codereview.chromium.org/2988993003\n"
    },
    {
      "commit": "db21483023eebb29ad6bcf00585a6b854609c657",
      "tree": "b41659dd5cf1213f2c699d51fe3df614242be36e",
      "parents": [
        "043acb1a6ac0d13f149d40f01b40197b2dda4c4b"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Tue Aug 01 22:23:39 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 01 22:23:39 2017"
      },
      "message": "Clear LUCI_CONTEXT when running auth test.\n\nIt interferes with the test (that sets up new mock context).\n\nLUCI_CONTEXT appeared due to\nhttps://chrome-internal.googlesource.com/infradata/config/+/c4fe65b81e1f8be9935d32ab30a40ff6158ec22f\n\nR\u003ddnj@chromium.org, tandrii@chromium.org\nBUG\u003d751229, 730878\n\nReview-Url: https://codereview.chromium.org/2991193002\n"
    },
    {
      "commit": "043acb1a6ac0d13f149d40f01b40197b2dda4c4b",
      "tree": "1ce0418c0047d0e800a2b3ddc771423cbd4ad933",
      "parents": [
        "a8e64660bec91ff303490d6fe7670b847339f1bb"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Tue Aug 01 18:59:35 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 01 18:59:35 2017"
      },
      "message": "Milo: Add links to console in config page\n\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2994433002\n"
    },
    {
      "commit": "a8e64660bec91ff303490d6fe7670b847339f1bb",
      "tree": "055d5c42ef4897ca9e0d8723d8ab4a63b54af58f",
      "parents": [
        "f91cf2864edce74d3d2fbddaccd27894c97b21a1"
      ],
      "author": {
        "name": "dnj",
        "email": "dnj@chromium.org",
        "time": "Tue Aug 01 18:10:42 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 01 18:10:42 2017"
      },
      "message": "[logdog] Begin migrating to Makefile.\n\n\"deploytool\" didn\u0027t catch on, so begin migrating LogDog\u0027s AppEngine\nprovisioning to a Makefile. This Makefile will consist of two\ncomponents: the \"luci-go\" component, which is a general set of rules to\nbuild, and a deployment component, resident in a separate directory,\nwhich populates some constants and imports the main Makefile.\n\nBUG\u003dNone\nTEST\u003dlocal\n\nReview-Url: https://codereview.chromium.org/2988083002\n"
    },
    {
      "commit": "f91cf2864edce74d3d2fbddaccd27894c97b21a1",
      "tree": "abc65aec75025527f68c28f5b5bd2885168a89e7",
      "parents": [
        "300d5a6b74053bed93529c62119d09516c14b447"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Tue Aug 01 07:28:30 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 01 07:28:30 2017"
      },
      "message": "isolate: test uploading of individual regular files\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2992113002\n"
    },
    {
      "commit": "300d5a6b74053bed93529c62119d09516c14b447",
      "tree": "89ab03f2c9417092b8e802a542e7309d7d4976c9",
      "parents": [
        "7981ab04f53fb3eb949c32f8eafbc077c15d66d5"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Tue Aug 01 04:41:58 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 01 04:41:58 2017"
      },
      "message": "isolate: manage lifetime of checker and uploader in main.\n\nIt makes sense for the uploader and checker to be Closed in the same block of\ncode that they are created in. This will also make it possible to share Checker\nand Uploaders between TarringArchivers.\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2988133002\n"
    },
    {
      "commit": "7981ab04f53fb3eb949c32f8eafbc077c15d66d5",
      "tree": "15d84a178795d83c34f7759f7a9572f9e410b421",
      "parents": [
        "b6f37562e3b7780198095124623d6e40fce9971d"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Tue Aug 01 04:02:07 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Aug 01 04:02:07 2017"
      },
      "message": "isolate: Move partitioning code out of exparchive main.\n\nThis is mostly just moving code, but the new String method for partitionedDeps\nproduces slightly different output to the old code which was in\nexpArchiveRun.main.\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2991083002\n"
    },
    {
      "commit": "b6f37562e3b7780198095124623d6e40fce9971d",
      "tree": "7068aea09ce6c29d7453c1948181b1fc1b3514cf",
      "parents": [
        "7875602af13ed009f3e609f698fb7aba3b1787df"
      ],
      "author": {
        "name": "charliea",
        "email": "charliea@chromium.org",
        "time": "Mon Jul 31 17:53:30 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Mon Jul 31 17:53:30 2017"
      },
      "message": "Implement the \u0027shared\u0027 subcommand for mmutex\n\nAfter this is done, I\u0027ll move onto incorporating the drain file so that\nthe lock scheduling is fairer for our purposes.\n\nBUG\u003d416072\n\nReview-Url: https://codereview.chromium.org/2990863002\n"
    },
    {
      "commit": "7875602af13ed009f3e609f698fb7aba3b1787df",
      "tree": "dfe0f5a87ea3a3bb22e51e986f64111ab2a81b12",
      "parents": [
        "8fbab6da1f9e6c96cdcea4159a3b8e11f9ccace2"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Mon Jul 31 05:15:16 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Mon Jul 31 05:15:16 2017"
      },
      "message": "isolate: add uploadtracker tests for symlinks and isolated files\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2992693002\n"
    },
    {
      "commit": "8fbab6da1f9e6c96cdcea4159a3b8e11f9ccace2",
      "tree": "3b05c73ceed27b44b799d09aaab89b0a61f150a7",
      "parents": [
        "6df39efb0e62cd4d0a7f23c59b593ae14a777105"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Fri Jul 28 23:26:29 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jul 28 23:26:29 2017"
      },
      "message": "token-server: Add protos for new API for generating service account tokens.\n\nAdd initial boilerplate for implementation. Nothing structurally new here, this\nCL repeats existing patterns in the code. Use this opportunity for minimal\ncleanup of various comments in proto.\n\nR\u003diannucci@chromium.org, nodir@chromium.org, smut@google.com\nBUG\u003d731843\n\nReview-Url: https://codereview.chromium.org/2785973002\n"
    },
    {
      "commit": "6df39efb0e62cd4d0a7f23c59b593ae14a777105",
      "tree": "6a983db13c19b220223fdfd56da32009933a0b69",
      "parents": [
        "a2caef986ff760891a05b460f308bde309d3c37f"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Fri Jul 28 19:29:53 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jul 28 19:29:53 2017"
      },
      "message": "Add a task queue task router to reduce amount of boilerplate.\n\nR\u003dtandrii@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2981043002\n"
    },
    {
      "commit": "a2caef986ff760891a05b460f308bde309d3c37f",
      "tree": "1f247ceca67d8bb3b2756ee44dcb8339c354c8d1",
      "parents": [
        "a443973d083ad00ce12186a32cb8ac379591d6da"
      ],
      "author": {
        "name": "dnj",
        "email": "dnj@chromium.org",
        "time": "Fri Jul 28 13:59:22 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jul 28 13:59:22 2017"
      },
      "message": "[web] Restructure and fix builds.\n\nBuilding web apps seems to be broken. Fix it by restructuring the build\na bit. Namely:\n1) Move application-specific TypeScript into \"inc/\" so all TS share a\n  root.\n2) Update build step to be a little less confusing.\n\nBUG\u003dNone\nTEST\u003dlocal\n\nReview-Url: https://codereview.chromium.org/2985273002\n"
    },
    {
      "commit": "a443973d083ad00ce12186a32cb8ac379591d6da",
      "tree": "6646a9b59f256403a506573297bbb631770bb5f7",
      "parents": [
        "e295526f5ff8e4023422d895477f27974e27642f"
      ],
      "author": {
        "name": "lexer",
        "email": "lexer@google.com",
        "time": "Thu Jul 27 21:52:20 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Jul 27 21:52:20 2017"
      },
      "message": "Add HTTP error annotation.\n\nThis allows the status to be retrieved programmatically.\n\nR\u003dmaruel@google.com\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2984913002\n"
    },
    {
      "commit": "e295526f5ff8e4023422d895477f27974e27642f",
      "tree": "b3f4ee8037a7c78f7897baeef3a3f5b4655c4cd0",
      "parents": [
        "88d9e961390254aa5a732d56f83eef40e25db59e"
      ],
      "author": {
        "name": "vadimsh",
        "email": "vadimsh@chromium.org",
        "time": "Thu Jul 27 17:16:48 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Jul 27 17:16:48 2017"
      },
      "message": "Add cron.Machine state machine.\n\nIt is subset of engine.StateMachine that deals exclusively with time. Unlike\nengine.StateMachine, it doesn\u0027t try to keep track of how individual invocations\ntravel through task queue.\n\nWill be eventually used to power cron jobs by periodically emitting trigger\nevents based on some schedule.\n\nR\u003dtandrii@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2980943002\n"
    },
    {
      "commit": "88d9e961390254aa5a732d56f83eef40e25db59e",
      "tree": "f42938b40c52fc7552907f27c6ca947cf7a058d7",
      "parents": [
        "b8f38ac193dee1f11001aabfa3a9b484706f9ce0"
      ],
      "author": {
        "name": "dnj",
        "email": "dnj@chromium.org",
        "time": "Thu Jul 27 14:43:58 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Jul 27 14:43:58 2017"
      },
      "message": "[cipd] \"selfupdate\" command logs at Warning.\n\nMake the \"selfupdate\" command log at \"Warning\" level by default.\n\nBUG\u003dchromium:748651\nTEST\u003dlocal\n  - Ran locally, did not show any logs on success.\n\nR\u003diannucci@chromium.org, vadimsh@chromium.org\n\nReview-Url: https://codereview.chromium.org/2986963002\n"
    },
    {
      "commit": "b8f38ac193dee1f11001aabfa3a9b484706f9ce0",
      "tree": "2d66dfb96584c37c6ac773e53855ebed5c963265",
      "parents": [
        "29440f13003b1bf3464be6e4d65904e9ff7ad251"
      ],
      "author": {
        "name": "tandrii",
        "email": "tandrii@chromium.org",
        "time": "Thu Jul 27 14:14:17 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Jul 27 14:14:17 2017"
      },
      "message": "gitiles: go back to QueryEscape because url.PathEscape is not in Go1.6.\n\nR\u003dhinoka@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2986953002\n"
    },
    {
      "commit": "29440f13003b1bf3464be6e4d65904e9ff7ad251",
      "tree": "39a6180aff77893f7c46450fb20c06fe1feeff90",
      "parents": [
        "1bb9e0cd284747048ec3ce359ffcaa1fc3032016"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Thu Jul 27 07:04:53 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Jul 27 07:04:53 2017"
      },
      "message": "isolate: Move json dumping back into exparchive main\n\nWe will use one UploadTracker per isolate in batch mode, and the dumped json\nwill be based on the digests of multiple isolates. Therefore, json dumping\nshould happen at a higher level.\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2985203002\n"
    },
    {
      "commit": "1bb9e0cd284747048ec3ce359ffcaa1fc3032016",
      "tree": "f57939e906dc400e9e3874d61ee067f4d290eaf2",
      "parents": [
        "7869f7ebdc61a95a8fbdb62a6df904497159704e"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Thu Jul 27 06:25:27 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Jul 27 06:25:27 2017"
      },
      "message": "isolate: Pull isolated file handling into its own type.\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2985993002\n"
    },
    {
      "commit": "7869f7ebdc61a95a8fbdb62a6df904497159704e",
      "tree": "1cfcb4304dfb35e884d9b9e06ae8084c13f92ff5",
      "parents": [
        "b1e3f58580b05bbba4a8d821ee2e0dd79efde34d"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Thu Jul 27 06:04:17 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Jul 27 06:04:17 2017"
      },
      "message": "Pass a Writer to Finalize for JSON dumping.\n\nFor testability.\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2985873002\n"
    },
    {
      "commit": "b1e3f58580b05bbba4a8d821ee2e0dd79efde34d",
      "tree": "de1360af6e8c37d213d8e99a68b15e01bffd6ba9",
      "parents": [
        "d3bd42031c01dff3209c39925428311e7a0249ff"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Wed Jul 26 21:31:04 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Jul 26 21:31:04 2017"
      },
      "message": "Milo: Show accurate pending build numbers for builder view.\n\nWe were not showing the correct numbers, since the master doesn\u0027t send\nall of its pending builds to milo, just 25.  But it does send the total\nnumber, which we wern\u0027t displaying.\n\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2987953002\n"
    },
    {
      "commit": "d3bd42031c01dff3209c39925428311e7a0249ff",
      "tree": "b18e8934167666570e203bd2dc426fce18b1a168",
      "parents": [
        "8ccb74d02ea1ac77c1bff3a6230d7e8dd2280817"
      ],
      "author": {
        "name": "charliea",
        "email": "charliea@chromium.org",
        "time": "Wed Jul 26 21:12:08 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Jul 26 21:12:08 2017"
      },
      "message": "Make mmutex actually acquire and release file locks\n\nThere\u0027s still some work to be done with customization and implementing\nthe shared command, but this CL makes the exclusive command functional.\n\nBUG\u003d416072\n\nReview-Url: https://codereview.chromium.org/2982763002\n"
    },
    {
      "commit": "8ccb74d02ea1ac77c1bff3a6230d7e8dd2280817",
      "tree": "6fb19432c71b8797a39608b989680d706af4b493",
      "parents": [
        "f4e9bd5ac290f75fb9c40babee6781d741ce4f3c"
      ],
      "author": {
        "name": "dnj",
        "email": "dnj@chromium.org",
        "time": "Wed Jul 26 19:50:00 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Jul 26 19:50:00 2017"
      },
      "message": "[cipd] Enable specific log level.\n\nAdd a flag to CIPD client subcommand invocations that explicitly sets\nthe logging level. This is more precise than \"-verbose\", and can be used\nto suppress INFO-level logs in situations where users don\u0027t want to see\nthem.\n\nBUG\u003dchromium:748651\nTEST\u003dlocal\nR\u003ddpranke@chromium.org, vadimsh@chromium.org\n\nReview-Url: https://codereview.chromium.org/2987893002\n"
    },
    {
      "commit": "f4e9bd5ac290f75fb9c40babee6781d741ce4f3c",
      "tree": "bfc8ff4064ad10728210da2584b30ef8b6ac73ab",
      "parents": [
        "4f004b9af0db26e6b30b6b4ed835f0949176d12a"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Wed Jul 26 04:36:14 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Jul 26 04:36:14 2017"
      },
      "message": "isolate: Finalize the isolate in UploadTracker\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2991503002\n"
    },
    {
      "commit": "4f004b9af0db26e6b30b6b4ed835f0949176d12a",
      "tree": "82be3025c4506ac3e2f5c46dce991dd153988230",
      "parents": [
        "a5a0dde2bc401c8cdc7b48f646aad3256949ee4f"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Wed Jul 26 02:16:48 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Jul 26 02:16:48 2017"
      },
      "message": "isolate: move creation of isolate into UploadTracker\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2990503002\n"
    },
    {
      "commit": "a5a0dde2bc401c8cdc7b48f646aad3256949ee4f",
      "tree": "5f920a76d4269cb059e4528567f7bd10ed607785",
      "parents": [
        "36932d3d7c0ea6caae122d88a030bb8e9152ea4b"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Wed Jul 26 01:16:57 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Jul 26 01:16:57 2017"
      },
      "message": "isolate: Move uploadTracker into its own file\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2991493002\n"
    },
    {
      "commit": "36932d3d7c0ea6caae122d88a030bb8e9152ea4b",
      "tree": "2b890e268712387692b776ffd83bc7a8b5b46741",
      "parents": [
        "36482f345c2764f5d482d545758a32e20fe2d9c8"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Wed Jul 26 01:07:46 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Jul 26 01:07:46 2017"
      },
      "message": "isolate: Split UploadDeps into smaller chunks\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2983333002\n"
    },
    {
      "commit": "36482f345c2764f5d482d545758a32e20fe2d9c8",
      "tree": "03d29589f20ed166e47afa72b42e26c524489c98",
      "parents": [
        "ed1cc5c5437d44d42c5be3e1465fcd2c092960ce"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Tue Jul 25 03:31:57 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Jul 25 03:31:57 2017"
      },
      "message": "isolate: create a struct to hold upload state\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2988623002\n"
    },
    {
      "commit": "ed1cc5c5437d44d42c5be3e1465fcd2c092960ce",
      "tree": "a1c8ef3e444fabccb4a3ee706b1f860303c56153",
      "parents": [
        "9bc2ed3aa0aabf8591e8f0c6f889cdb4c02d90f7"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Mon Jul 24 14:25:31 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Mon Jul 24 14:25:31 2017"
      },
      "message": "Milo: Fix console table alignment\n\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2983353002\n"
    },
    {
      "commit": "9bc2ed3aa0aabf8591e8f0c6f889cdb4c02d90f7",
      "tree": "849b12539c338c62539abafd6bdd19d9a75462a6",
      "parents": [
        "7a7fc567fa4f461247d96482958bc5aa8ed6b845"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Mon Jul 24 06:34:40 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Mon Jul 24 06:34:40 2017"
      },
      "message": "isolate: pull uploading of deps out of exparchive main.\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2986773002\n"
    },
    {
      "commit": "7a7fc567fa4f461247d96482958bc5aa8ed6b845",
      "tree": "664d77e574b97155a0aa924ef63bc0aa30ce3f02",
      "parents": [
        "6d809e0e344bd422a4c540b2442d9126f5421d6d"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Mon Jul 24 04:15:40 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Mon Jul 24 04:15:40 2017"
      },
      "message": "Plumb through blacklist flag in exparchive.\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2985643002\n"
    },
    {
      "commit": "6d809e0e344bd422a4c540b2442d9126f5421d6d",
      "tree": "5f49349fdf137e8b591d0bf7c654541e0d72a912",
      "parents": [
        "02528b08305c7b4bd442e5cf7ce9c5d3e8324f91"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Mon Jul 24 03:52:02 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Mon Jul 24 03:52:02 2017"
      },
      "message": "Reuse blacklisting code in exp_archive.\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2981223003\n"
    },
    {
      "commit": "02528b08305c7b4bd442e5cf7ce9c5d3e8324f91",
      "tree": "eacbacd26d2139928af9c816d74422138920e59b",
      "parents": [
        "40d91be436113be187ee76988a793712076c06bb"
      ],
      "author": {
        "name": "tandrii",
        "email": "tandrii@chromium.org",
        "time": "Fri Jul 21 19:57:04 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jul 21 19:57:04 2017"
      },
      "message": "Add gitiles OWNERS.\n\nAlso fixes cq.cfg OWNERS and typo in docstring.\n\nR\u003dsergiyb@chromium.org, vadimsh@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2987553003\n"
    },
    {
      "commit": "40d91be436113be187ee76988a793712076c06bb",
      "tree": "f1e66bd06eaeceb66e8576679bdabc0296ba19d9",
      "parents": [
        "c4abe79ec19a51f9bcb02e4aaaee09f9325a3cbf"
      ],
      "author": {
        "name": "tandrii",
        "email": "tandrii@chromium.org",
        "time": "Fri Jul 21 08:58:42 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jul 21 08:58:42 2017"
      },
      "message": "gitiles: add Refs API.\n\nWith docs, including best practice recommendation, and tests.\n\nBUG\u003d646067\n\nReview-Url: https://codereview.chromium.org/2981263002\n"
    },
    {
      "commit": "c4abe79ec19a51f9bcb02e4aaaee09f9325a3cbf",
      "tree": "9c10bbd2142a212385c05b0821402613af0662d4",
      "parents": [
        "8ffe319b319921ef4e757c2a6c8b7811e4913c10"
      ],
      "author": {
        "name": "tandrii",
        "email": "tandrii@chromium.org",
        "time": "Fri Jul 21 08:29:23 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jul 21 08:29:23 2017"
      },
      "message": "Improve gitiles.Log.\n\n* implement paging\n* add docs\n* add tests\n\nBUG\u003d646067\n\nReview-Url: https://codereview.chromium.org/2983513002\n"
    },
    {
      "commit": "8ffe319b319921ef4e757c2a6c8b7811e4913c10",
      "tree": "e6f0a94da88c92b01c9f77864d348d44333869c5",
      "parents": [
        "3cafc370cbed08c47b8cc67dc1f2b72f23b423a9"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Fri Jul 21 04:37:12 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jul 21 04:37:12 2017"
      },
      "message": "isolate: (refactor) extract blacklisting into common package\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2981243002\n"
    },
    {
      "commit": "3cafc370cbed08c47b8cc67dc1f2b72f23b423a9",
      "tree": "66099415aca3d320691c99e0842733411ddc57b6",
      "parents": [
        "16c2c39bd3487f835f192181ee9ea0030d057a9c"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Fri Jul 21 01:36:59 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jul 21 01:36:59 2017"
      },
      "message": "Milo: Change console commit text format\n\nShow author, commit time, description, instead of revision.\n\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2984003002\n"
    },
    {
      "commit": "16c2c39bd3487f835f192181ee9ea0030d057a9c",
      "tree": "1c878a17184db4b7de04a702561034a9611beb2f",
      "parents": [
        "f754e176983a7aead58c99222058c2a07222a73e"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Thu Jul 20 09:14:46 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Jul 20 09:14:46 2017"
      },
      "message": "Milo console importer: fix small bug\n\nThis is sometimes nil\n\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2981373002\n"
    },
    {
      "commit": "f754e176983a7aead58c99222058c2a07222a73e",
      "tree": "5b7dcda4b0b4eeeef88a25a5df6cbff0f8c985e9",
      "parents": [
        "c4c760eddc3c5075bdb36100a28e8d877d361543"
      ],
      "author": {
        "name": "iannucci",
        "email": "iannucci@chromium.org",
        "time": "Thu Jul 20 08:28:39 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Jul 20 08:28:39 2017"
      },
      "message": "[milo] get console in working shape.\n\nR\u003dhinoka@chromium.org\nBUG\u003d468053\n\nReview-Url: https://codereview.chromium.org/2984673002\n"
    },
    {
      "commit": "c4c760eddc3c5075bdb36100a28e8d877d361543",
      "tree": "4ecf506ab5e710264c59f9acf96176d6bb40e0dc",
      "parents": [
        "09620964f484b1ba31711085e071f0f629531084"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Thu Jul 20 04:06:16 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Jul 20 04:06:16 2017"
      },
      "message": "Make gitiles calls as Self instead of Anon\n\nBUG\u003d468053\n\nReview-Url: https://codereview.chromium.org/2983153002\n"
    },
    {
      "commit": "09620964f484b1ba31711085e071f0f629531084",
      "tree": "700f834b1b7c245b98c24e8ab1823da80cea923c",
      "parents": [
        "52e6f7699476bd5518331dbe9600f211763be68a"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Thu Jul 20 01:24:10 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Jul 20 01:24:10 2017"
      },
      "message": "Milo: Store console defs as their own entities\n\nBUG\u003d468053\n\nReview-Url: https://codereview.chromium.org/2982183002\n"
    },
    {
      "commit": "52e6f7699476bd5518331dbe9600f211763be68a",
      "tree": "44117e15180432fce6831c63b737aa23059e0a93",
      "parents": [
        "1291040682d23ae49ab28d32bfe6781136aedbf1"
      ],
      "author": {
        "name": "iannucci",
        "email": "iannucci@chromium.org",
        "time": "Thu Jul 20 00:52:10 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Jul 20 00:52:10 2017"
      },
      "message": "[milo] Add an (uncached) method to get console rows.\n\nAlso plugs in git history call.\n\nR\u003dhinoka@chromium.org\nBUG\u003d468053\n\nReview-Url: https://codereview.chromium.org/2978293002\n"
    },
    {
      "commit": "1291040682d23ae49ab28d32bfe6781136aedbf1",
      "tree": "41f51ea483a8e1ff49be2ac629ac4fc00c26277d",
      "parents": [
        "4b08c484b7714d5e89a889e023aa8ec256dbd2f0"
      ],
      "author": {
        "name": "tandrii",
        "email": "tandrii@chromium.org",
        "time": "Wed Jul 19 10:56:27 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Jul 19 10:56:27 2017"
      },
      "message": "scheduler: Move IsJobOwner to acl package.\n\nR\u003dvadimsh@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2976623002\n"
    },
    {
      "commit": "4b08c484b7714d5e89a889e023aa8ec256dbd2f0",
      "tree": "82d19aa01bea4777468701d1229b3cfca42a29a3",
      "parents": [
        "746d72c63ab1f6cd0911794ffba1ce8dc60f4f8f"
      ],
      "author": {
        "name": "iannucci",
        "email": "iannucci@chromium.org",
        "time": "Wed Jul 19 01:27:37 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Jul 19 01:27:37 2017"
      },
      "message": "Add manifest links and hack to index on revision.\n\nR\u003dhinoka@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2979283002\n"
    },
    {
      "commit": "746d72c63ab1f6cd0911794ffba1ce8dc60f4f8f",
      "tree": "e6a66df28fefee9c38c49629f8754ddeeb0b8981",
      "parents": [
        "c73a01793deb23192570c36c44c1a3978d4eb0db"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Wed Jul 19 00:17:57 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Jul 19 00:17:57 2017"
      },
      "message": "Milo: Fix ?limit\u003d param\n\nThis is actually a query (form) parameter, not a router parameter.\n\nBUG\u003d745757\n\nReview-Url: https://codereview.chromium.org/2976393002\n"
    },
    {
      "commit": "c73a01793deb23192570c36c44c1a3978d4eb0db",
      "tree": "16f6a55d460860fd00cfbb947541f0ec3264e9ca",
      "parents": [
        "b6f50320fa6dcc98867278fa297b5c4a300c026e"
      ],
      "author": {
        "name": "mcgreevy",
        "email": "mcgreevy@chromium.org",
        "time": "Tue Jul 18 03:53:15 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Jul 18 03:53:15 2017"
      },
      "message": "isolate: clean up some path handling in directory walking code.\n\nBUG\u003d692940\n\nReview-Url: https://codereview.chromium.org/2980233003\n"
    },
    {
      "commit": "b6f50320fa6dcc98867278fa297b5c4a300c026e",
      "tree": "01c23f1106aaed7b9df0d721c9d580520143d5fb",
      "parents": [
        "33f9af6122fbc8938f1208ad0cbd35a2ffcc929b"
      ],
      "author": {
        "name": "iannucci",
        "email": "iannucci@chromium.org",
        "time": "Mon Jul 17 21:59:47 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Mon Jul 17 21:59:47 2017"
      },
      "message": "[milo] initial call to get git history\n\nR\u003destaab@chromium.org, hinoka@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2979153002\n"
    },
    {
      "commit": "33f9af6122fbc8938f1208ad0cbd35a2ffcc929b",
      "tree": "03addc33501ec4b4971736c47b85dc991710750b",
      "parents": [
        "1ecc1348556526b3573da1e78a1e3c2fad47152c"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Mon Jul 17 21:48:48 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Mon Jul 17 21:48:48 2017"
      },
      "message": "Milo pubsub: Don\u0027t decode properties out of parameters\n\nThis isn\u0027t used and also isn\u0027t always a string (could be an object)\n\nBUG\u003d624960\n\nReview-Url: https://codereview.chromium.org/2980253002\n"
    },
    {
      "commit": "1ecc1348556526b3573da1e78a1e3c2fad47152c",
      "tree": "d2bf2b2662dd5adffac900b3f24aae26b18b683a",
      "parents": [
        "e3f06de0b3cadca58b8fce1680fa0a2f5b602fc6"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Sat Jul 15 02:14:42 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Sat Jul 15 02:14:42 2017"
      },
      "message": "milo: Add warmup paths\n\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2980163002\n"
    },
    {
      "commit": "e3f06de0b3cadca58b8fce1680fa0a2f5b602fc6",
      "tree": "af70ed6498b36b24ca98eb935bce5c0a3ffd97ff",
      "parents": [
        "6b67e9811353766540187a3dc80b75245c68475a"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Sat Jul 15 01:32:12 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Sat Jul 15 01:32:12 2017"
      },
      "message": "Milo: Fix project importer so it doesn\u0027t error out on a bad config\n\nSo that a single bad config doesn\u0027t cause the importer to stop working.\nAlso use luci-config ids as canonical IDs in milo\nRemoved testing code for dupes since they\u0027re impossible now.\n\nBUG\u003d468053\n\nReview-Url: https://codereview.chromium.org/2980153002\n"
    },
    {
      "commit": "6b67e9811353766540187a3dc80b75245c68475a",
      "tree": "54a9719c288ce591f04bd6eecf5e2b1d072567fc",
      "parents": [
        "2cc44f95c0979db5c36032ec9685695af421c3c5"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Sat Jul 15 01:24:10 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Sat Jul 15 01:24:10 2017"
      },
      "message": "Milo: Create build summaries for buildbot in the pubsub pipeline\n\nBUG\u003d468053\n\nReview-Url: https://codereview.chromium.org/2968333003\n"
    },
    {
      "commit": "2cc44f95c0979db5c36032ec9685695af421c3c5",
      "tree": "adba35e17dd1c04c6c3b56f67e73359d3e85f2e7",
      "parents": [
        "28c337759ad370a18bc087902b4a497b3599a798"
      ],
      "author": {
        "name": "iannucci",
        "email": "iannucci@chromium.org",
        "time": "Sat Jul 15 01:15:50 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Sat Jul 15 01:15:50 2017"
      },
      "message": "Fix copyright header presubmit\n\nR\u003destaab@chromium.org, hinoka@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2981033002\n"
    },
    {
      "commit": "28c337759ad370a18bc087902b4a497b3599a798",
      "tree": "dc59c49e1348016e289c92e017fe2986dde0a26d",
      "parents": [
        "5f9d6a651046e10968a95729d712e658e8da4a7e"
      ],
      "author": {
        "name": "iannucci",
        "email": "iannucci@chromium.org",
        "time": "Fri Jul 14 23:17:57 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jul 14 23:17:57 2017"
      },
      "message": "[milo] add milo version to page base\n\nR\u003dhinoka@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2977173002\n"
    },
    {
      "commit": "5f9d6a651046e10968a95729d712e658e8da4a7e",
      "tree": "c4cca3c759e7563b9c8f839455a7dabc16687926",
      "parents": [
        "dabbfe029acaf2553cde54b40761310518439402"
      ],
      "author": {
        "name": "iannucci",
        "email": "iannucci@chromium.org",
        "time": "Fri Jul 14 22:58:30 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jul 14 22:58:30 2017"
      },
      "message": "[milo] remove remote_api\n\nR\u003dhinoka@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2981913002\n"
    },
    {
      "commit": "dabbfe029acaf2553cde54b40761310518439402",
      "tree": "89a19945ab281dfe545e7e1f4fea0967ea9dd770",
      "parents": [
        "a3c9edc7bd048303981a9b8a9fc89e7ea669d443"
      ],
      "author": {
        "name": "iannucci",
        "email": "iannucci@chromium.org",
        "time": "Fri Jul 14 22:57:20 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jul 14 22:57:20 2017"
      },
      "message": "[milo] add switch and switch-dev commands.\n\nThese will let you switch all modules in one command after uploading\nthem. So:\n  * upload\n  * poke around and test it out\n  * switch -\u003e make it live!\n\nR\u003dhinoka@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2981923002\n"
    },
    {
      "commit": "a3c9edc7bd048303981a9b8a9fc89e7ea669d443",
      "tree": "db6cbf209826727d779c474b0e81b0fe9fd8edc3",
      "parents": [
        "3fa2a52a950e10b4eaac37b839966dd1874f5777"
      ],
      "author": {
        "name": "iannucci",
        "email": "iannucci@chromium.org",
        "time": "Fri Jul 14 22:29:01 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jul 14 22:29:01 2017"
      },
      "message": "[milo] add warmup service to modules\n\nR\u003dhinoka@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2977153002\n"
    },
    {
      "commit": "3fa2a52a950e10b4eaac37b839966dd1874f5777",
      "tree": "b6ad51e8b55dfa425eda1a86c3f80af09b651209",
      "parents": [
        "4bfe11ebfbb203db86104241a7a748df16f507ef"
      ],
      "author": {
        "name": "iannucci",
        "email": "iannucci@chromium.org",
        "time": "Fri Jul 14 19:38:29 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jul 14 19:38:29 2017"
      },
      "message": "[milo] Refactor all html knowledge out of backends.\n\nR\u003dhinoka@chromium.org, estaab@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2977863002\n"
    },
    {
      "commit": "4bfe11ebfbb203db86104241a7a748df16f507ef",
      "tree": "108bc9f9f6a1b47808f533eb815505ba83150be2",
      "parents": [
        "915ce57f5cd2262f6324a5af4bf7643f566e1dea"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Fri Jul 14 17:48:11 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jul 14 17:48:11 2017"
      },
      "message": "Milo: Move buildbucket pubsub sub from buildbucket project to milo project\n\nThis moves (for instance) the subscription from:\nprojects/cr-buildbucket/subscriptions/luci-milo\nto:\nprojects/luci-milo/subscriptions/buildbucket\n\nThis removes a series of complex steps when setting up the pubsub pipeline.\n\nNothing else changes.\n\nBUG\u003d624960\n\nReview-Url: https://codereview.chromium.org/2981683002\n"
    },
    {
      "commit": "915ce57f5cd2262f6324a5af4bf7643f566e1dea",
      "tree": "3eca8c337dbf9cbef5eebbca9e4fc7c1cc23cf52",
      "parents": [
        "b783a30c7cfed7b42d232fd37ce1f8950d6e731c"
      ],
      "author": {
        "name": "tandrii",
        "email": "tandrii@chromium.org",
        "time": "Fri Jul 14 10:19:50 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Fri Jul 14 10:19:50 2017"
      },
      "message": "Move gitiles module from milo to common/api.\n\nI\u0027ll be improving it and making use of it in scheduler.\n\nR\u003diannucci@chromium.org\n\nBug: 646067\nReview-Url: https://codereview.chromium.org/2977083002\n"
    },
    {
      "commit": "b783a30c7cfed7b42d232fd37ce1f8950d6e731c",
      "tree": "4cc621380f01f76ba873c597fd9269f35b880cbf",
      "parents": [
        "01276bd0fd73dd156838a56de1e76ccca49c4552"
      ],
      "author": {
        "name": "tandrii",
        "email": "tandrii@chromium.org",
        "time": "Thu Jul 13 19:29:17 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Jul 13 19:29:17 2017"
      },
      "message": "Gitiles: commit\u0027s author and committer are the same structures.\n\nBUG\u003d646067\n\nReview-Url: https://codereview.chromium.org/2981753002\n"
    },
    {
      "commit": "01276bd0fd73dd156838a56de1e76ccca49c4552",
      "tree": "4cb860d140af7ad12d4a21b46e42d05acc3d5a45",
      "parents": [
        "2d01731412e1a85045eb896ea122b26217439798"
      ],
      "author": {
        "name": "iannucci",
        "email": "iannucci@chromium.org",
        "time": "Wed Jul 12 19:59:26 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Jul 12 19:59:26 2017"
      },
      "message": "[milo] make logs uploadable and also remove it from up-dev.\n\nR\u003ddnj@chromium.org, hinoka@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2978813002\n"
    },
    {
      "commit": "2d01731412e1a85045eb896ea122b26217439798",
      "tree": "0bc0f206dc91c62bb720be1e44856bad35c87e60",
      "parents": [
        "bad1bfc914d35b3ab6dfc08a79ca35c3210d6665"
      ],
      "author": {
        "name": "estaab",
        "email": "estaab@chromium.org",
        "time": "Wed Jul 12 19:41:57 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Jul 12 19:41:59 2017"
      },
      "message": "Update apache2 license header to newer format.\n\nAlso add CONTRIBUTING.md file copied from luci/gae.\n\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2977633003\n"
    },
    {
      "commit": "bad1bfc914d35b3ab6dfc08a79ca35c3210d6665",
      "tree": "b05297bd7b24541ba79d049de07389059eb673a6",
      "parents": [
        "6553a52aeef59501c0b106ff07113b83ad6d179a"
      ],
      "author": {
        "name": "iannucci",
        "email": "iannucci@chromium.org",
        "time": "Wed Jul 12 18:40:26 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Jul 12 18:40:26 2017"
      },
      "message": "[milo] remove linkBase and calculate links directly.\n\nR\u003dhinoka@chromium.org\nBUG\u003d468053\n\nReview-Url: https://codereview.chromium.org/2975023002\n"
    },
    {
      "commit": "6553a52aeef59501c0b106ff07113b83ad6d179a",
      "tree": "8f7478e833d61541b0c928b28bfab71f38a880be",
      "parents": [
        "3f5ae6c4a1c17663c8113708a912fea6d8b98781"
      ],
      "author": {
        "name": "charliea",
        "email": "charliea@chromium.org",
        "time": "Wed Jul 12 13:59:13 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Jul 12 13:59:13 2017"
      },
      "message": "Flesh out the mmutex binary wrapper and test for existence of lockfile\n\nThe logic in this CL is uninteresting, but I mostly want to make sure\nthat the wrapper, directory structure, and test harness are set up\ncorrectly before getting too much further.\n\nBUG\u003d416072\n\nReview-Url: https://codereview.chromium.org/2980603003\n"
    },
    {
      "commit": "3f5ae6c4a1c17663c8113708a912fea6d8b98781",
      "tree": "86f3261e0855506f882bbfdd1b4eb9fa000bad7e",
      "parents": [
        "16fa9642b663a5cc49b116b9c94d654372b934da"
      ],
      "author": {
        "name": "hinoka",
        "email": "hinoka@google.com",
        "time": "Tue Jul 11 23:15:33 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Jul 11 23:15:33 2017"
      },
      "message": "Buildbucket: Save buildbucket build info and summary on pubsub push\n\nBUG\u003d624960\n\nReview-Url: https://codereview.chromium.org/2964143002\n"
    },
    {
      "commit": "16fa9642b663a5cc49b116b9c94d654372b934da",
      "tree": "85ac086d5138453510258e5765c188c176fbf49b",
      "parents": [
        "eba3a76e7406cec606db3c8964428c059250110b"
      ],
      "author": {
        "name": "iannucci",
        "email": "iannucci@chromium.org",
        "time": "Tue Jul 11 22:01:26 2017"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Jul 11 22:01:26 2017"
      },
      "message": "[milo] refine acl check error slightly.\n\nThis prevents us from telling logged-in users that they need to log in.\n\nR\u003dhinoka@chromium.org\nBUG\u003d\n\nReview-Url: https://codereview.chromium.org/2974323002\n"
    }
  ],
  "next": "eba3a76e7406cec606db3c8964428c059250110b"
}
