Ensure branches modified through web UI replicate
If a branch is deleted through the web UI it should replicate
onto all mirror systems using the standard replication code.
The same is true for newly created branches.
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/src/main/java/com/google/gerrit/server/ProjectAdminServiceImpl.java b/src/main/java/com/google/gerrit/server/ProjectAdminServiceImpl.java
index 3437e43..c85625d 100644
--- a/src/main/java/com/google/gerrit/server/ProjectAdminServiceImpl.java
+++ b/src/main/java/com/google/gerrit/server/ProjectAdminServiceImpl.java
@@ -31,6 +31,7 @@
import com.google.gerrit.client.rpc.InvalidRevisionException;
import com.google.gerrit.client.rpc.NoSuchEntityException;
import com.google.gerrit.git.InvalidRepositoryException;
+import com.google.gerrit.git.PushQueue;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwtjsonrpc.client.VoidResult;
import com.google.gwtorm.client.OrmException;
@@ -321,13 +322,15 @@
continue;
}
+ final Branch.NameKey mKey = m.getNameKey();
switch (result) {
case NEW:
case NO_CHANGE:
case FAST_FORWARD:
case FORCED:
db.branches().delete(Collections.singleton(m));
- deleted.add(m.getNameKey());
+ deleted.add(mKey);
+ PushQueue.scheduleUpdate(mKey.getParentKey(), m.getName());
break;
case REJECTED_CURRENT_BRANCH:
@@ -430,6 +433,7 @@
case FAST_FORWARD:
case NEW:
case NO_CHANGE:
+ PushQueue.scheduleUpdate(name.getParentKey(), refname);
break;
default:
log.error("Cannot create branch " + name + ": " + result.name());