Skip to content

Commit ff56e81

Browse files
authored
Merge branch 'main' into issue-676
2 parents 506e942 + eba6df6 commit ff56e81

File tree

4 files changed

+13
-0
lines changed

4 files changed

+13
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
### Fixed
1111
- Fixed business processes and rules not being added to source control automatically (#676)
12+
- Embedded Git commits settings when cloning empty repo to avert any issues
1213

1314
## [2.9.0] - 2025-01-09
1415

cls/SourceControl/Git/Settings.cls

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,15 @@ Method OnAfterConfigure() As %Boolean
448448
$$$ThrowOnError(workMgr.WaitForComplete())
449449
// export settings file without committing
450450
$$$ThrowOnError(..SaveWithSourceControl())
451+
452+
// Empty repo breaks Embedded Git, commit the settings file
453+
do ##class(SourceControl.Git.Utils).RunGitCommandWithInput("log",,.errStream,.outStream)
454+
do errStream.Rewind()
455+
if (errStream.Read() [ "does not have any commits yet") {
456+
w !,"Cloned Empty Repository, committing initial source control settings",!
457+
$$$ThrowOnError(##class(SourceControl.Git.Utils).AddToSourceControl(##class(SourceControl.Git.Settings.Document).#INTERNALNAME))
458+
$$$ThrowOnError(##class(SourceControl.Git.Utils).Commit(##class(SourceControl.Git.Settings.Document).#INTERNALNAME,"initial commit"))
459+
}
451460
}
452461
}
453462
}
227 KB
Loading

docs/production-decomposition.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Production Decomposition
22
Production Decomposition is a feature of Embedded Git that allows multiple developers to edit the same IRIS Interoperability production in the same namespace. In the past, the production class has been an obstacle preventing organizations using multi-user development namespaces from adopting source control. Production Decomposition resolves this by representing the production as a directory of files for each production item that may be edited independently. An uncommitted change to the settings for a single item through the Interoperability Portal will block other users from editing that item while allowing changes to other items in the production.
33

4+
5+
![Productions in Git](images/production-decomposition.png)
6+
47
## Enabling production decomposition
58
The feature may be enabled by checking the "Decompose Productions" box in the Git Settings page. For deployment of changes to other environments through git to work properly, the value of this setting must match on all namespaces connected to this repository. To assist, settings are automatically exported into a `embedded-git-config.json` file at the root of the repository that may be committed and imported into other environments.
69

0 commit comments

Comments
 (0)