)]}'
{
  "commit": "c95583bf4f17b8467f815b6391ffc6c7add08804",
  "tree": "c69bf8a061279b79326fb00f2197efcd8726864c",
  "parents": [
    "6a5644d392069b67f17c8ce6cb10f07cce71cc1c"
  ],
  "author": {
    "name": "Shawn O. Pearce",
    "email": "sop@google.com",
    "time": "Tue Mar 03 17:47:06 2009 -0800"
  },
  "committer": {
    "name": "Shawn O. Pearce",
    "email": "sop@google.com",
    "time": "Tue Mar 03 17:47:06 2009 -0800"
  },
  "message": "Don\u0027t permit users to run repo status in a mirror client\n\nIf a client was created with \"repo init --mirror\" then there are\nno working directories present, and no files checked out.  Using\na command like \"repo status\" in this context makes no sense, and\nactually throws back a Pytyon traceback at the console when the\nunderlying commands fail out.\n\nWe now tag commands with the MirrorSafeCommand type if they are\nable to be executed within a mirror directory safely.  Using a\ncommand in a mirror which lacks this base class results in a\nuseful error letting you know the command isn\u0027t supported.\n\nBug: REPO-14\nSigned-off-by: Shawn O. Pearce \u003csop@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "516c2d9d3f8eee433f91c107b65c5450f06c8db3",
      "old_mode": 33188,
      "old_path": "command.py",
      "new_id": "c3cad5ea57cad3edd37059aa3f1966f8ac8dc2fa",
      "new_mode": 33188,
      "new_path": "command.py"
    },
    {
      "type": "modify",
      "old_id": "db4fa0fb315d80b0c83419a118359bb1e22069bc",
      "old_mode": 33261,
      "old_path": "main.py",
      "new_id": "0e0a61de5cfa1e7808205df940d188d3abe849dd",
      "new_mode": 33261,
      "new_path": "main.py"
    },
    {
      "type": "modify",
      "old_id": "6e0238a091f01fca9b57d8b1c24ec8f592421c4b",
      "old_mode": 33188,
      "old_path": "subcmds/help.py",
      "new_id": "a2814e11e72707fd2e7b0031349f11322aefa1b3",
      "new_mode": 33188,
      "new_path": "subcmds/help.py"
    },
    {
      "type": "modify",
      "old_id": "ad28a6117288837b386bd9a5f27580b2f1cf4d09",
      "old_mode": 33188,
      "old_path": "subcmds/init.py",
      "new_id": "d1fb4316933b69e24b3c751e9ae1926d0da49b4e",
      "new_mode": 33188,
      "new_path": "subcmds/init.py"
    },
    {
      "type": "modify",
      "old_id": "8050e515df561552ef25c2c729a54370dfeebd7a",
      "old_mode": 33188,
      "old_path": "subcmds/sync.py",
      "new_id": "fff1281a385eb91ca08d78400305f57279276f2c",
      "new_mode": 33188,
      "new_path": "subcmds/sync.py"
    },
    {
      "type": "modify",
      "old_id": "4f19a0ca79c6e253386397df14a2546fe1c75fd1",
      "old_mode": 33188,
      "old_path": "subcmds/version.py",
      "new_id": "83e77d0b62c59e6a81f9dbeb08782fcb7ef20583",
      "new_mode": 33188,
      "new_path": "subcmds/version.py"
    }
  ]
}
