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 () {