Skip to content

Commit 865bfa1

Browse files
authored
Merge pull request #807 from raymond-rebbeck/import-all-config-first
Import embedded-git-config.json first when performing an Import All
2 parents af1b42d + a18718b commit 865bfa1

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
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
- Fix Import All not importing items that do not already exist when compileOnImport is not set (#798)
12+
- Import All now imports configuration file before everything else (#806)
1213

1314
## [2.12.2] - 2025-07-08
1415

cls/SourceControl/Git/Utils.cls

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1567,14 +1567,34 @@ ClassMethod ImportRoutines(force As %Boolean = 0, pullEventClass As %String) As
15671567

15681568
#dim ec as %Status = ..ListItemsInFiles(.itemList, .err)
15691569
quit:'ec ec
1570-
1570+
1571+
// If there is a config file it must be imported before everything else.
1572+
if $Data(itemList(##class(SourceControl.Git.Settings.Document).#INTERNALNAME)) {
1573+
set sc = ##class(SourceControl.Git.Utils).ImportItem(##class(SourceControl.Git.Settings.Document).#INTERNALNAME, force)
1574+
1575+
if $$$ISERR(sc) {
1576+
set ec = $$$ADDSC(ec, sc)
1577+
} else {
1578+
kill err, itemList
1579+
set err = 0
1580+
1581+
// Get the item list again as it may be different after just importing the config file
1582+
set ec = $$$ADDSC(ec, ..ListItemsInFiles(.itemList, .err))
1583+
}
1584+
quit:'ec ec
1585+
}
1586+
15711587
kill files
15721588

15731589
set settings = ##class(SourceControl.Git.Settings).%New()
15741590
#dim internalName as %String = ""
15751591
for {
15761592
set internalName = $order(itemList(internalName))
15771593
quit:internalName=""
1594+
1595+
// Don't import the config file a second time
1596+
continue:internalName=##class(SourceControl.Git.Settings.Document).#INTERNALNAME
1597+
15781598
set context = ##class(SourceControl.Git.PackageManagerContext).ForInternalName(internalName)
15791599
continue:context.Package'=refPackage
15801600
set doImport = ..IsRoutineOutdated(internalName) || force

0 commit comments

Comments
 (0)