Reindex change when mergeability flag is recomputed

Change-Id: I9acacc222401250fa8ecfca03312566a612701aa
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
This commit is contained in:
Edwin Kempin
2013-11-19 09:32:58 +01:00
parent 23e1a2e824
commit 31a16f337e

View File

@@ -28,6 +28,7 @@ import com.google.gerrit.server.git.CodeReviewCommit;
import com.google.gerrit.server.git.GitRepositoryManager; import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.git.MergeException; import com.google.gerrit.server.git.MergeException;
import com.google.gerrit.server.git.SubmitStrategyFactory; import com.google.gerrit.server.git.SubmitStrategyFactory;
import com.google.gerrit.server.index.ChangeIndexer;
import com.google.gerrit.server.project.NoSuchProjectException; import com.google.gerrit.server.project.NoSuchProjectException;
import com.google.gwtorm.server.OrmException; import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject; import com.google.inject.Inject;
@@ -66,16 +67,19 @@ public class Mergeable implements RestReadView<RevisionResource> {
private final GitRepositoryManager gitManager; private final GitRepositoryManager gitManager;
private final SubmitStrategyFactory submitStrategyFactory; private final SubmitStrategyFactory submitStrategyFactory;
private final Provider<ReviewDb> db; private final Provider<ReviewDb> db;
private final ChangeIndexer indexer;
@Inject @Inject
Mergeable(TestSubmitType.Get submitType, Mergeable(TestSubmitType.Get submitType,
GitRepositoryManager gitManager, GitRepositoryManager gitManager,
SubmitStrategyFactory submitStrategyFactory, SubmitStrategyFactory submitStrategyFactory,
Provider<ReviewDb> db) { Provider<ReviewDb> db,
ChangeIndexer indexer) {
this.submitType = submitType; this.submitType = submitType;
this.gitManager = gitManager; this.gitManager = gitManager;
this.submitStrategyFactory = submitStrategyFactory; this.submitStrategyFactory = submitStrategyFactory;
this.db = db; this.db = db;
this.indexer = indexer;
} }
@Override @Override
@@ -172,6 +176,7 @@ public class Mergeable implements RestReadView<RevisionResource> {
c.setMergeable(mergeable); c.setMergeable(mergeable);
c.setLastSha1MergeTested(toRevId(ref)); c.setLastSha1MergeTested(toRevId(ref));
db.get().changes().update(Collections.singleton(c)); db.get().changes().update(Collections.singleton(c));
indexer.index(c);
} }
return mergeable; return mergeable;
} catch (MergeException e) { } catch (MergeException e) {