)]}'
{
  "commit": "dafb1d68d33137779c96a83c7e42cac0e7a27ca4",
  "tree": "e0e3c93d316c8cdf48a15fec97c458b391a6039e",
  "parents": [
    "4655e81a75f2ea5f1eaf93de1249886171281e61"
  ],
  "author": {
    "name": "Doug Anderson",
    "email": "dianders@google.com",
    "time": "Thu Apr 07 11:46:59 2011 -0700"
  },
  "committer": {
    "name": "Shawn O. Pearce",
    "email": "sop@google.com",
    "time": "Thu Apr 07 16:49:23 2011 -0400"
  },
  "message": "Fixed repo abandon to give better messages.\n\nThe main fix is to give an error message if nothing was actually\nabandoned.  See \u003chttp://crosbug.com/6041\u003e.\n\nThe secondary fix is to list projects where the abandon happened.\nThis could be done in a separate CL or dropped altogether if requested.\n\nTEST\u003dmanual\n\n$ repo abandon dougabc; echo $?\nAbandon dougabc: 100% (127/127), done.\nAbandoned in 2 project(s):\n  chromite\n  src/platform/init\n0\n\n$ repo abandon dougabc; echo $?\nAbandon dougabc: 100% (127/127), done.\nerror: no project has branch dougabc\n1\n\n$ repo abandon dougabc; echo $?\nAbandon dougabc: 100% (127/127), done.\nerror: chromite/: cannot abandon dougabc\n1\n\nChange-Id: I79520cc3279291acadc1a24ca34a761e9de04ed4\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9d98041f68c03e0f3bf46ac8ad4cb0c5936ee842",
      "old_mode": 33188,
      "old_path": "project.py",
      "new_id": "7ba1b38a51f4504bf1301fe0735855ae0f57e753",
      "new_mode": 33188,
      "new_path": "project.py"
    },
    {
      "type": "modify",
      "old_id": "8af61327e904d0b4b764ad57a6749d2dc6b1122b",
      "old_mode": 33188,
      "old_path": "subcmds/abandon.py",
      "new_id": "42abb2ff163fc84d039aa294afae537b9c987d29",
      "new_mode": 33188,
      "new_path": "subcmds/abandon.py"
    }
  ]
}
