)]}'
{
  "commit": "36dcc21aad636efa1144c120e06c913e41f0f493",
  "tree": "46c76b4b8b95a130e9dfac4205bec762d486b23b",
  "parents": [
    "e836b59cac5186ec5486e9a03cbcda525299a5b5"
  ],
  "author": {
    "name": "Edwin Kempin",
    "email": "ekempin@google.com",
    "time": "Wed Jan 15 13:58:54 2020 +0100"
  },
  "committer": {
    "name": "David Pursehouse",
    "email": "dpursehouse@collab.net",
    "time": "Thu Jan 16 10:59:37 2020 +0900"
  },
  "message": "ChangeEditModifier: Reject invalid file paths as \u0027400 Bad Request\u0027\n\nProviding an invalid path is a user error and should not result in a\n\u0027500 Internal Server Error\u0027 [1].\n\n[1]\nAutoRetry: restapi.change.ChangeEdits.Post failed, retry with tracing enabled\norg.eclipse.jgit.dircache.InvalidPathException: Invalid path: foo/bar/\n  at org.eclipse.jgit.dircache.DirCacheEntry.checkPath(DirCacheEntry.java:837)\n  at org.eclipse.jgit.dircache.DirCacheEntry.\u003cinit\u003e(DirCacheEntry.java:284)\n  at org.eclipse.jgit.dircache.DirCacheEntry.\u003cinit\u003e(DirCacheEntry.java:266)\n  at org.eclipse.jgit.dircache.DirCacheEditor.applyEdits(DirCacheEditor.java:163)\n  at org.eclipse.jgit.dircache.DirCacheEditor.finish(DirCacheEditor.java:132)\n  at com.google.gerrit.server.edit.tree.TreeCreator.applyPathEdits(TreeCreator.java:99)\n  at com.google.gerrit.server.edit.tree.TreeCreator.createNewTree(TreeCreator.java:73)\n  at com.google.gerrit.server.edit.tree.TreeCreator.createNewTreeAndGetId(TreeCreator.java:66)\n  at com.google.gerrit.server.edit.ChangeEditModifier.createNewTree(ChangeEditModifier.java:492)\n  at com.google.gerrit.server.edit.ChangeEditModifier.modifyTree(ChangeEditModifier.java:333)\n  at com.google.gerrit.server.edit.ChangeEditModifier.renameFile(ChangeEditModifier.java:300)\n  at com.google.gerrit.server.restapi.change.ChangeEdits$Post.apply(ChangeEdits.java:248)\n  at com.google.gerrit.server.restapi.change.ChangeEdits$Post.apply(ChangeEdits.java:222)\n  at com.google.gerrit.httpd.restapi.RestApiServlet.lambda$invokeRestCollectionModifyViewWithRetry$10(RestApiServlet.java:858)\n  at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78)\n  at com.github.rholder.retry.Retryer.call(Retryer.java:160)\n  at com.google.gerrit.server.update.RetryHelper.executeWithTimeoutCount(RetryHelper.java:560)\n  at com.google.gerrit.server.update.RetryHelper.execute(RetryHelper.java:503)\n  at com.google.gerrit.server.update.RetryableAction.call(RetryableAction.java:172)\n  at com.google.gerrit.httpd.restapi.RestApiServlet.invokeRestEndpointWithRetry(RestApiServlet.java:883)\n  at com.google.gerrit.httpd.restapi.RestApiServlet.invokeRestCollectionModifyViewWithRetry(RestApiServlet.java:853)\n  at com.google.gerrit.httpd.restapi.RestApiServlet.service(RestApiServlet.java:563)\n  at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)\n  ...\n\nSigned-off-by: Edwin Kempin \u003cekempin@google.com\u003e\nChange-Id: I7693b4a6c39d7b773101ab5770b158433995f23d\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6295e2d3b1ffbbf1515862ffbb2a9e9aad48b3ab",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/edit/ChangeEditModifier.java",
      "new_id": "246a53f124c05430106e584f052b7f6ff71adb09",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/edit/ChangeEditModifier.java"
    },
    {
      "type": "modify",
      "old_id": "231d3566d01cd5115fec9d2a84a968fd9b158d30",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/restapi/change/ApplyFix.java",
      "new_id": "085f9dee835f666563b067e136e72b741e672c9f",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/restapi/change/ApplyFix.java"
    },
    {
      "type": "modify",
      "old_id": "424f4d7f2cc7160f426a58f4444bbd3370e808fc",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/restapi/change/ChangeEdits.java",
      "new_id": "d4cc03445afcbea1082c7dad7568261def923b50",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/restapi/change/ChangeEdits.java"
    },
    {
      "type": "modify",
      "old_id": "682721973401b65903c9ce59b07e85ed0c1eee25",
      "old_mode": 33188,
      "old_path": "javatests/com/google/gerrit/acceptance/edit/ChangeEditIT.java",
      "new_id": "1317eadfb7c70eaea6df83f3ac5223cefa786f5e",
      "new_mode": 33188,
      "new_path": "javatests/com/google/gerrit/acceptance/edit/ChangeEditIT.java"
    }
  ]
}
