Only consider commit objects when creating service user notes

Bug: Issue 8950
Change-Id: Icd9a0e64e071a8eca8aed7c8cb8c5d4945e80d0e
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUserNotes.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUserNotes.java
index e1af041..d4faca9 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUserNotes.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUserNotes.java
@@ -16,6 +16,7 @@
 
 import static com.googlesource.gerrit.plugins.serviceuser.CreateServiceUser.KEY_CREATED_BY;
 import static com.googlesource.gerrit.plugins.serviceuser.CreateServiceUser.KEY_OWNER;
+import static org.eclipse.jgit.lib.Constants.OBJ_COMMIT;
 
 import com.google.gerrit.extensions.common.AccountInfo;
 import com.google.gerrit.reviewdb.client.Project;
@@ -36,6 +37,7 @@
 import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.notes.NoteMap;
 import org.eclipse.jgit.revwalk.RevCommit;
+import org.eclipse.jgit.revwalk.RevObject;
 import org.eclipse.jgit.revwalk.RevWalk;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -84,7 +86,11 @@
 
     try (RevWalk rw = new RevWalk(git)) {
       try {
-        RevCommit n = rw.parseCommit(newObjectId);
+        RevObject obj = rw.peel(rw.parseAny(newObjectId));
+        if (obj.getType() != OBJ_COMMIT) {
+          return;
+        }
+        RevCommit n = (RevCommit) obj;
         rw.markStart(n);
         if (n.getParentCount() == 1 && n.getParent(0).equals(oldObjectId)) {
           rw.markUninteresting(rw.parseCommit(oldObjectId));