From 528db67c3441c6cfdd9067e2fe5f6f53d460997b Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Wed, 31 Jan 2018 22:34:18 +0000 Subject: [PATCH] Add support for file:// git urls --- editor/js/ui/projects/projectSettings.js | 3 ++- editor/js/ui/projects/projects.js | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/editor/js/ui/projects/projectSettings.js b/editor/js/ui/projects/projectSettings.js index 8cb440d85..e85999228 100644 --- a/editor/js/ui/projects/projectSettings.js +++ b/editor/js/ui/projects/projectSettings.js @@ -1193,6 +1193,7 @@ RED.projects.settings = (function() { editRepoButton.attr('disabled',true); addRemoteDialog.slideDown(200, function() { addRemoteDialog[0].scrollIntoView(); + validateForm(); }); }); @@ -1287,7 +1288,7 @@ RED.projects.settings = (function() { var validateForm = function() { var validName = /^[a-zA-Z0-9\-_]+$/.test(remoteNameInput.val()); - var validRepo = /^(?:git|ssh|https?|[\d\w\.\-_]+@[\w\.]+):(?:\/\/)?[\w\.@:\/~_-]+\.git(?:\/?|\#[\d\w\.\-_]+?)$/.test(remoteURLInput.val()); + var validRepo = /^(?:file|git|ssh|https?|[\d\w\.\-_]+@[\w\.]+):(?:\/\/)?[\w\.@:\/~_-]+(?:\.git)?(?:\/?|\#[\d\w\.\-_]+?)$/.test(remoteURLInput.val()); saveButton.attr('disabled',(!validName || !validRepo)) remoteNameInput.toggleClass('input-error',remoteNameInputChanged&&!validName); if (popover) { diff --git a/editor/js/ui/projects/projects.js b/editor/js/ui/projects/projects.js index 4491dd2ce..b4a869581 100644 --- a/editor/js/ui/projects/projects.js +++ b/editor/js/ui/projects/projects.js @@ -681,7 +681,7 @@ RED.projects = (function() { } else if (projectType === 'clone') { var repo = projectRepoInput.val(); - var validRepo = /^(?:git|ssh|https?|[\d\w\.\-_]+@[\w\.]+):(?:\/\/)?[\w\.@:\/~_-]+\.git(?:\/?|\#[\d\w\.\-_]+?)$/.test(repo); + var validRepo = /^(?:file|git|ssh|https?|[\d\w\.\-_]+@[\w\.]+):(?:\/\/)?[\w\.@:\/~_-]+(?:\/?|\#[\d\w\.\-_]+?)$/.test(repo); if (!validRepo) { if (projectRepoChanged) { projectRepoInput.addClass("input-error"); @@ -700,7 +700,7 @@ RED.projects = (function() { $(".projects-dialog-screen-create-row-creds").show(); $(".projects-dialog-screen-create-row-sshkey").hide(); } else { - $(".projects-dialog-screen-create-row-creds").show(); + $(".projects-dialog-screen-create-row-creds").hide(); $(".projects-dialog-screen-create-row-sshkey").hide(); } @@ -888,13 +888,13 @@ RED.projects = (function() { row = $('
').appendTo(container); $('').appendTo(row); projectRepoInput = $('').appendTo(row); - $('').appendTo(row); + $('').appendTo(row); var projectRepoChanged = false; projectRepoInput.on("change keyup paste",function() { projectRepoChanged = true; var repo = $(this).val(); - var m = /\/([^/]+)\.git/.exec(repo); + var m = /\/([^/]+?)(?:\.git)?$/.exec(repo); if (m) { var projectName = projectNameInput.val(); if (projectName === "" || projectName === autoInsertedName) {