Merge "Suggest push to refs/for/BRANCH if lacking push permission"
diff --git a/java/com/google/gerrit/server/permissions/RefControl.java b/java/com/google/gerrit/server/permissions/RefControl.java
index dd00dca..f800207 100644
--- a/java/com/google/gerrit/server/permissions/RefControl.java
+++ b/java/com/google/gerrit/server/permissions/RefControl.java
@@ -523,7 +523,10 @@
+ "who also have 'Push' rights on "
+ RefNames.REFS_CONFIG);
} else {
- pde.setAdvice("To push into this reference you need 'Push' rights.");
+ pde.setAdvice(
+ "Push to refs/for/"
+ + RefNames.shortName(refName)
+ + " to create a review, or get 'Push' rights to update the branch.");
}
break;
case DELETE:
diff --git a/javatests/com/google/gerrit/acceptance/git/PushPermissionsIT.java b/javatests/com/google/gerrit/acceptance/git/PushPermissionsIT.java
index 385780b..9d1bdaa 100644
--- a/javatests/com/google/gerrit/acceptance/git/PushPermissionsIT.java
+++ b/javatests/com/google/gerrit/acceptance/git/PushPermissionsIT.java
@@ -103,7 +103,7 @@
assertThat(r)
.hasMessages(
"error: branch refs/heads/master:",
- "To push into this reference you need 'Push' rights.",
+ "Push to refs/for/master to create a review, or get 'Push' rights to update the branch.",
"User: admin",
"Contact an administrator to fix the permissions");
assertThat(r).hasProcessed(ImmutableMap.of("refs", 1));
@@ -183,7 +183,7 @@
"You need 'Delete Reference' rights or 'Push' rights with the ",
"'Force Push' flag set to delete references.",
"error: branch refs/heads/master:",
- "To push into this reference you need 'Push' rights.",
+ "Push to refs/for/master to create a review, or get 'Push' rights to update the branch.",
"User: admin",
"Contact an administrator to fix the permissions");
}