in src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocServlet.java [303:332]
private String getRevision(String revision, ProjectControl projectControl)
throws ResourceNotFoundException, AuthException, IOException, PermissionBackendException {
if (revision == null) {
return null;
}
if (ObjectId.isId(revision)) {
return revision;
}
if (Constants.HEAD.equals(revision)) {
return getHead.get().apply(new ProjectResource(projectControl));
} else {
String rev = revision;
if (!rev.startsWith(Constants.R_REFS)) {
rev = Constants.R_HEADS + rev;
}
try {
permissionBackend
.user(projectControl.getUser())
.project(projectControl.getProject().getNameKey())
.ref(rev)
.check(RefPermission.READ);
} catch (AuthException e) {
// Don't leak the project's existence
throw new ResourceNotFoundException();
}
return rev;
}
}