)]}'
{
  "commit": "af42bc396801829dbdb6e62e96d357dfe908c153",
  "tree": "0ce1940cc31db3e4e8b087ed2c8c1379259a9820",
  "parents": [
    "417233022d791cfaeb298efca40e971b62250e1b"
  ],
  "author": {
    "name": "Edwin Kempin",
    "email": "ekempin@google.com",
    "time": "Wed Jan 15 13:58:54 2020 +0100"
  },
  "committer": {
    "name": "Edwin Kempin",
    "email": "ekempin@google.com",
    "time": "Wed Jan 15 13:58:54 2020 +0100"
  },
  "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": "c05a47d2ae114127d6e0602ce157d89faaf9f39f",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/edit/ChangeEditModifier.java",
      "new_id": "128388d1aa4fc9190b2469e73febb16e2f0f5a6c",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/edit/ChangeEditModifier.java"
    },
    {
      "type": "modify",
      "old_id": "aa36b73e27856c789dfc88b7c344e8aba8811599",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/server/restapi/change/ChangeEdits.java",
      "new_id": "aa8224770d7dc2428057c6c405b973d753722132",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/server/restapi/change/ChangeEdits.java"
    },
    {
      "type": "modify",
      "old_id": "b0f183e0aab7f92ab9c7ea1cf95e618d639a0221",
      "old_mode": 33188,
      "old_path": "javatests/com/google/gerrit/acceptance/edit/ChangeEditIT.java",
      "new_id": "2883d8cf09ff873eca26a13bdc96dd9d6f2b3c77",
      "new_mode": 33188,
      "new_path": "javatests/com/google/gerrit/acceptance/edit/ChangeEditIT.java"
    }
  ]
}
