)]}'
{
  "log": [
    {
      "commit": "a1bfd2cd7253b1662e08f5ec5be3d863430c756c",
      "tree": "48cf4d0a983e37b50220cecc043793d6a5f0c319",
      "parents": [
        "6d7508b3d52781a3f8170a4257c65e2de176cc68"
      ],
      "author": {
        "name": "Nico Sallembien",
        "email": "nsallembien@google.com",
        "time": "Tue Apr 06 10:40:01 2010 -0700"
      },
      "committer": {
        "name": "Nico Sallembien",
        "email": "nsallembien@google.com",
        "time": "Tue Apr 13 10:20:37 2010 -0700"
      },
      "message": "Add a \u0027smart sync\u0027 option to repo sync\n\nThis option allows the user to specify a manifest server to use when\nsyncing. This manifest server will provide a manifest pegging each\nproject to a known green build. This allows developers to work on a\nknown good tree that is known to build and pass tests, preventing\nfailed builds to hamper productivity.\n\nThe manifest used is not \"sticky\" so as to allow subsequent\n\u0027repo sync\u0027 calls to sync to the tip of the tree.\n\nChange-Id: Id0a24ece20f5a88034ad364b416a1dd2e394226d\n"
    },
    {
      "commit": "242b52690d327a77e47140509085f406155c5722",
      "tree": "92b58b51e6f0b38bea6cc98a0c67604c5d08b7f1",
      "parents": [
        "4cc70ce501321733a1b389e685e964d34b3b4cf5"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Tue May 19 13:00:29 2009 -0700"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Tue May 19 13:01:52 2009 -0700"
      },
      "message": "Remove support for the extra \u003cremote\u003e definitions in manifests\n\nThese aren\u0027t that widely used, and actually make it difficult for\nusers to fully mirror a forest of repositories, and then permit\nsomeone else to clone off that forest, rather then the original\nupstream servers.\n\nSigned-off-by: Shawn O. Pearce \u003csop@google.com\u003e\n"
    },
    {
      "commit": "a490f03dc23792a86bbe5b2b8c89b32f39774c80",
      "tree": "60f1c904b47259643b40f0d7267a2136b3519c7a",
      "parents": [
        "deec0536d657be178e8eed2d597afb9fdc716e99"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Sat Apr 18 11:25:58 2009 -0700"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Sat Apr 18 11:25:58 2009 -0700"
      },
      "message": "Correct note about local_manifest.xml capabilities\n\nWith the \u003cremove-project\u003e element we can remove projects, and\nfully replace them with a different definition.  So this note\nis out of date.\n\nSigned-off-by: Shawn O. Pearce \u003csop@google.com\u003e\n"
    },
    {
      "commit": "43c3d9ea17f1436a6b3b2e7e7827da6f48a21da9",
      "tree": "9bfa77f57095fcd04901ee7783c78d49afdb1e9d",
      "parents": [
        "4259b8a2ac0dddb54e98e00afc454bf966d4f058"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Wed Mar 04 14:26:50 2009 -0800"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Wed Mar 04 14:26:50 2009 -0800"
      },
      "message": "Add a \u0027repo manifest\u0027 command whose help is the manifest file format\n\nThis should make it easier for users to discover the file format\non their own, and read about it.\n\nSigned-off-by: Shawn O. Pearce \u003csop@google.com\u003e\n"
    },
    {
      "commit": "03eaf07ec6aa7e99a0444ac1ec708b2a5f7cbbf5",
      "tree": "3de33686218f59849912004a4376402082384fff",
      "parents": [
        "2896a79120fe1de65472736f756c47b558b44db1"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Thu Nov 20 11:42:22 2008 -0800"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Thu Nov 20 11:54:46 2008 -0800"
      },
      "message": "Support \u003cremove-project name\u003d\"X\"\u003e in manifest to remove/replace X\n\nThe manifest files now permit removing a project so the user can\neither keep it out of their client, or replace it with a different\nproject using an entirely different configuration.\n\nSigned-off-by: Shawn O. Pearce \u003csop@google.com\u003e\n"
    },
    {
      "commit": "70939e2f73bf118c89cf4af4988dba807c50a0ce",
      "tree": "b1849b9a48572876b35cd621192cbb4c712e816e",
      "parents": [
        "ae6e0949d187c35d79dbc0b21788fdbb2c65bf78"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Thu Nov 06 11:07:14 2008 -0800"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Thu Nov 06 11:23:08 2008 -0800"
      },
      "message": "Add \u003cadd-remote to-project\u003d\"...\"\u003e to inject additional remotes\n\nThis way users can add forks they know about to an existing project\nthat was already declared in the primary manifest.  This is mostly\nuseful with the Linux kernel project, where multiple forks is quite\ncommon for the main upstream tree (e.g. Linus\u0027 tree), a platform\narchitecture tree (e.g. ARM) and a device specific tree (e.g. the\nmsm7k tree used by Android).\n\nSigned-off-by: Shawn O. Pearce \u003csop@google.com\u003e\n"
    },
    {
      "commit": "ae6e0949d187c35d79dbc0b21788fdbb2c65bf78",
      "tree": "7a825c0e8cb24f0df512f62f4e44970026641dda",
      "parents": [
        "339ba9f6f70b1733f89a5ff89d5f155389a04094"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Thu Nov 06 10:25:35 2008 -0800"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Thu Nov 06 11:23:06 2008 -0800"
      },
      "message": "Add \u003cremote project-name\u003d\"...\"\u003e attribute within projects\n\nBy setting a project-name on a remote nested within a project forks\nof a project like the Linux kernel can be easily handled by fetching\nall relevant forks into the same client side project under different\nremote names.  Developers can create branches off different remotes\nusing `git checkout --track -b $myname $remote/$branch` and later\n`repo upload` automatically redirects to the proper fork project\nin the code review server.\n\nSigned-off-by: Shawn O. Pearce \u003csop@google.com\u003e\n"
    },
    {
      "commit": "70cd4ab2708eaae7d96d7e8b0a3f88850c163543",
      "tree": "fe973a5bbed05d4fb81019a3c43f7660ff89bc2b",
      "parents": [
        "e284ad1d1a2c6fa0e0ac800e87b2607f9bda339e"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Thu Nov 06 08:48:44 2008 -0800"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Thu Nov 06 08:48:44 2008 -0800"
      },
      "message": "Add some short documentation about the local manifest\n\nSigned-off-by: Shawn O. Pearce \u003csop@google.com\u003e\n"
    },
    {
      "commit": "3e5481999d5f853e19ee5caaaaa968fc4b5176ab",
      "tree": "fd6c97f1abd78525dc26b4eb2b8bc12027b7f93b",
      "parents": [
        "d3c388391e11aff0b26ecf19c8cb668a9629ef5a"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Tue Nov 04 11:19:36 2008 -0800"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Tue Nov 04 11:19:36 2008 -0800"
      },
      "message": "Add a basic outline of the repo manifest file format\n\nSigned-off-by: Shawn O. Pearce \u003csop@google.com\u003e\n"
    }
  ]
}
