in htdocs/js/boxer.js [625:672]
function prep_new_repo(refresh=false, submit=false) {
let frn = document.getElementById('final_repo_name');
let project = document.getElementById('project').value;
let suffix = document.getElementById('suffix').value;
let priv = login_cached.credentials.admin ? document.getElementById('private').checked : false;
let repo_title = 'Apache ' + project;
let repo_commit = document.getElementById('commit').value;
let repo_dev = document.getElementById('dev').value;
let incubator_prefix = document.getElementById('incubator_prefix');
document.getElementById('sbmt').disabled = true;
if (!project.length) {
frn.innerText = "Please select a project";
return
}
if (refresh) {
document.getElementById('commit').value = `commits@${project}.apache.org`;
document.getElementById('dev').value = `dev@${project}.apache.org`;
}
if (!suffix.match(/^[-a-z0-9]*$/)) {
frn.innerText = "Invalid repository suffix. Must be lowercase alphanumeric characters or dashes only.";
return
}
if (login_cached.podlings.includes(project)) {
if (incubator_prefix.checked) {
project = 'incubator-' + project;
}
}
let repo_name = project;
if (suffix && suffix.length) {
repo_name += "-" + suffix;
}
repo_name += ".git";
let repo_url_gitbox = "https://gitbox.apache.org/repos/" + ( priv ? "private/" + project : "asf") + "/" + repo_name;
let repo_url_github= "https://github.com/apache/" + repo_name;
frn.innerText = `This will create a repository named ${repo_name}`;
document.getElementById('sbmt').disabled = false;
if (submit) {
if (window.confirm(`This will create ${repo_name}. Are you sure you wish to continue?`)) {
// INFRA-26130 et al: Avoid double names like openserverless-openserverless-foo.git
if (suffix && suffix.startsWith(project)) {
if (!window.confirm(`WARNING: The requested repository name, ${repo_name}, contains the project name twice! Are you absolutely sure you want this?`)) {
return
}
}
create_new_repo(project, repo_name, priv, repo_title, repo_commit, repo_dev);
}
}
}