Merge "Write error log with change ID when replaying a change fails"
diff --git a/src/main/java/com/googlesource/gerrit/plugins/importer/ReplayChangesStep.java b/src/main/java/com/googlesource/gerrit/plugins/importer/ReplayChangesStep.java
index 7c22a9e..dcb2ceb 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/importer/ReplayChangesStep.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/importer/ReplayChangesStep.java
@@ -21,6 +21,7 @@
import com.google.gerrit.extensions.common.ChangeInfo;
import com.google.gerrit.extensions.restapi.BadRequestException;
import com.google.gerrit.extensions.restapi.RestApiException;
+import com.google.gerrit.extensions.restapi.Url;
import com.google.gerrit.reviewdb.client.Branch;
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.reviewdb.client.Project;
@@ -39,6 +40,8 @@
import org.eclipse.jgit.lib.ProgressMonitor;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevWalk;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.util.Collections;
@@ -59,6 +62,8 @@
ProgressMonitor pm);
}
+ private static Logger log = LoggerFactory.getLogger(ReplayChangesStep.class);
+
private final ReplayRevisionsStep.Factory replayRevisionsFactory;
private final ReplayInlineCommentsStep.Factory replayInlineCommentsFactory;
private final ReplayMessagesStep.Factory replayMessagesFactory;
@@ -130,7 +135,13 @@
RevWalk rw = new RevWalk(repo);
try {
for (ChangeInfo c : changes) {
- replayChange(rw, c);
+ try {
+ replayChange(rw, c);
+ } catch (Exception e) {
+ log.error(String.format("Failed to replay change %s.",
+ Url.decode(c.id)), e);
+ throw e;
+ }
pm.update(1);
}
} finally {