diff options
author | Dariusz Luksza <dariusz@luksza.org> | 2015-07-14 12:03:16 +0200 |
---|---|---|
committer | David Pursehouse <dpursehouse@collab.net> | 2017-09-06 23:45:15 +0000 |
commit | e145010de7911623c98e6111537ffa4997d1a82e (patch) | |
tree | d15a3c3c2129e29416c76d741c0a63d38cec7bc7 | |
parent | 643d635a4502e2a2df6cb02edade88bad3fd953a (diff) |
Use proper HEAD ref value when creating project
Wrong name of HEAD reference was used when repository was created after
RepositoryNotFoundException. This results in HEAD pointing to HEAD.
Change-Id: I647618fc6d35a5e2ff6bcfeda5084584e591ddda
Signed-off-by: Dariusz Luksza <dariusz@luksza.org>
-rw-r--r-- | src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java b/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java index 8521910..28b5e6b 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java @@ -21,7 +21,9 @@ import com.google.common.base.Throwables; import com.google.common.collect.LinkedListMultimap; import com.google.common.collect.ListMultimap; import com.google.common.collect.Sets; +import com.google.gerrit.extensions.api.changes.NotifyHandling; import com.google.gerrit.extensions.events.GitReferenceUpdatedListener; +import com.google.gerrit.extensions.events.NewProjectCreatedListener; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.metrics.Timer1; import com.google.gerrit.reviewdb.client.Project; @@ -399,6 +401,24 @@ class PushOne implements ProjectRunnable, CanceledWhileRunning { try { Ref head = git.exactRef(Constants.HEAD); if (replicationQueue.createProject(projectName, head != null ? head.getName() : null)) { + NewProjectCreatedListener.Event event = + new NewProjectCreatedListener.Event() { + @Override + public String getProjectName() { + return projectName.get(); + } + + @Override + public String getHeadName() { + return head != null ? head.getTarget().getName() : null; + } + + @Override + public NotifyHandling getNotify() { + return NotifyHandling.NONE; + } + }; + replicationQueue.onNewProjectCreated(event); repLog.warn("Missing repository created; retry replication to " + uri); pool.reschedule(this, Destination.RetryReason.REPOSITORY_MISSING); } else { |