From 30d96bf1794a4030fdc0a7fb96fc0731e023f94c Mon Sep 17 00:00:00 2001 From: Pravin Barton <9560941+isc-pbarton@users.noreply.github.com> Date: Mon, 22 Sep 2025 15:26:22 -0400 Subject: [PATCH 1/3] enh: warn if source control extension not configured --- CHANGELOG.md | 1 + csp/gitprojectsettings.csp | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55abc390..91332ee4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Option to lock/unlock namespace is now available on the settings page (#650) +- Settings page now warns if Embedded Git is not the configured source control extension (#857) ### Fixed - When cloning a repo with Configure, that repo's embedded-git-config file will overwrite previous settings (#819) diff --git a/csp/gitprojectsettings.csp b/csp/gitprojectsettings.csp index 3391baae..0d73b129 100644 --- a/csp/gitprojectsettings.csp +++ b/csp/gitprojectsettings.csp @@ -210,6 +210,14 @@ body { }
+ +
+ × + Embedded Git is not the configured source control extension for this namespace. To change, modify the + + Source Control Settings. +
+
× From 1674191d47a416b3a547f98332520bfedc761e77 Mon Sep 17 00:00:00 2001 From: Pravin Barton <9560941+isc-pbarton@users.noreply.github.com> Date: Mon, 22 Sep 2025 16:44:09 -0400 Subject: [PATCH 2/3] enh: namespace switcher on settings page --- CHANGELOG.md | 1 + csp/gitprojectsettings.csp | 22 ++++++++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91332ee4..719b1e27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Option to lock/unlock namespace is now available on the settings page (#650) - Settings page now warns if Embedded Git is not the configured source control extension (#857) +- Settings page now has option to switch namespace (#856) ### Fixed - When cloning a repo with Configure, that repo's embedded-git-config file will overwrite previous settings (#819) diff --git a/csp/gitprojectsettings.csp b/csp/gitprojectsettings.csp index 0d73b129..07d0950b 100644 --- a/csp/gitprojectsettings.csp +++ b/csp/gitprojectsettings.csp @@ -229,12 +229,30 @@ body {

-
+

Git Project Settings

Package version: #(version)#

-
+
+ +
From 66511574575d2557d03ad58c69d048d278d733e4 Mon Sep 17 00:00:00 2001 From: Pravin Barton <9560941+isc-pbarton@users.noreply.github.com> Date: Tue, 23 Sep 2025 10:10:11 -0400 Subject: [PATCH 3/3] fix: settings page no longer clears remote after clone --- CHANGELOG.md | 1 + csp/gitprojectsettings.csp | 27 ++++++++++++++++++++------- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 719b1e27..85abb2a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - When cloning a repo with Configure, that repo's embedded-git-config file will overwrite previous settings (#819) +- Settings page no longer removes remote when saving after cloning (#858) ## [2.13.1] - 2025-09-16 diff --git a/csp/gitprojectsettings.csp b/csp/gitprojectsettings.csp index 07d0950b..bd638e33 100644 --- a/csp/gitprojectsettings.csp +++ b/csp/gitprojectsettings.csp @@ -460,7 +460,7 @@ body {
-
+
@@ -817,6 +817,11 @@ function clone() { return; } disableActionButtons(); + var formGroupRemoteRepo = document.getElementById("formGroupRemoteRepo"); + var namespaceSettings = document.getElementById("namespaceSettings"); + if (formGroupRemoteRepo && settingsForm) { + namespaceSettings.removeChild(formGroupRemoteRepo); + } var ws = getSocket("method=clone&remote=" + encodeURIComponent(remote)); ws.onmessage = showOutput('initOutput'); } @@ -849,13 +854,21 @@ function validateForm() { var confirmText = ""; var lockNamespaceInitValue = #(''##class(SourceControl.Git.Utils).Locked())#; var cbLockNamespace = document.getElementById("lockNamespace"); - if (!cbLockNamespace) return true; - if (cbLockNamespace.checked && (lockNamespaceInitValue !== 1)) { - confirmText = "Are you sure? This will lock any source-controlled items from being edited in this namespace."; - } else if (!cbLockNamespace.checked && (lockNamespaceInitValue == 1)) { - confirmText = "Are you sure? This will allow edits of source-controlled items in this namespace."; + if (cbLockNamespace) { + if (cbLockNamespace.checked && (lockNamespaceInitValue !== 1)) { + confirmText = "\nThis will lock any source-controlled items from being edited in this namespace."; + } else if (!cbLockNamespace.checked && (lockNamespaceInitValue == 1)) { + confirmText = "\nThis will allow edits of source-controlled items in this namespace."; + } + } + var remoteInitValue = "#(##class(SourceControl.Git.Utils).GetRedactedRemote())#"; + var inputRemote = document.getElementById("remoteRepo"); + if (inputRemote) { + if ((inputRemote.value == "") && (remoteInitValue !== "")) { + confirmText += "\nThis will remove the origin remote from the repository." + } } - return confirmText ? confirm(confirmText) : true; + return confirmText ? confirm("Are you sure?" + confirmText) : true; } $(function () {