@@ -88,8 +88,9 @@ Method %Save() As %Status
88
88
89
89
set ..namespaceTemp = ##class (%Library.File ).NormalizeDirectory (..namespaceTemp )
90
90
set @storage @(" settings" ," namespaceTemp" ) = ..namespaceTemp
91
-
92
- do ..CreateNamespaceTempFolder ()
91
+ set workMgr = $System .WorkMgr .%New (" " )
92
+ $$$ThrowOnError(workMgr .Queue (" ##class(SourceControl.Git.Settings).CreateNamespaceTempFolder" ))
93
+ $$$ThrowOnError(workMgr .WaitForComplete ())
93
94
94
95
set @storage @(" settings" ," user" ,$username ," gitUserName" ) = ..gitUserName
95
96
@@ -117,13 +118,14 @@ Method %Save() As %Status
117
118
quit $$$OK
118
119
}
119
120
120
- ClassMethod CreateNamespaceTempFolder () {
121
+ ClassMethod CreateNamespaceTempFolder () As %Status
122
+ {
121
123
set storage = ##class (SourceControl.Git.Utils ).#Storage
122
- if ('##class (%File ).DirectoryExists (@storage @(" settings" ," namespaceTemp" ))){
123
- set workMgr = $System .WorkMgr .%New (" " )
124
- $$$ThrowOnError(workMgr .Queue (" ##class(%Library.File).CreateDirectoryChain(@storage@(" " settings" " ," " namespaceTemp" " ))" ))
125
- $$$ThrowOnError(workMgr .WaitForComplete ())
124
+ if ('##class (%File ).DirectoryExists (@storage @(" settings" ," namespaceTemp" ))){
125
+ do ##class (%Library.File ).CreateDirectoryChain (@storage @(" settings" ," namespaceTemp" ))
126
126
}
127
+
128
+ return $$$OK
127
129
}
128
130
129
131
ClassMethod Configure () As %Boolean [ CodeMode = objectgenerator ]
@@ -197,10 +199,18 @@ Method OnAfterConfigure() As %Boolean
197
199
}
198
200
}
199
201
if (value = 1 ) {
202
+ set settings = ##class (SourceControl.Git.Settings ).%New ()
203
+ set repoRootFolder = settings .namespaceTemp
204
+ if ($extract (repoRootFolder , $length (repoRootFolder )) = " \" ) || ($extract (repoRootFolder , $length (repoRootFolder )) = " /" ) {
205
+ set repoRootFolder = $extract (settings .namespaceTemp , 1 , $length (settings .namespaceTemp ) - 1 )
206
+ }
207
+ set repoRootFolder = $translate (repoRootFolder , " \" , " /" )
208
+ do ##class (SourceControl.Git.Utils ).RunGitCommandWithInput (" config" ,,,," --global" , " --add" , " safe.directory" , repoRootFolder )
200
209
// using work queue manager ensures proper OS user context/file ownership
201
210
set workMgr = $System .WorkMgr .%New (" " )
202
211
$$$ThrowOnError(workMgr .Queue (" ##class(SourceControl.Git.Utils).Init" ))
203
212
$$$ThrowOnError(workMgr .WaitForComplete ())
213
+
204
214
do ##class (SourceControl.Git.Utils ).EmptyInitialCommit ()
205
215
} elseif (value = 2 ) {
206
216
set response = ##class (%Library.Prompt ).GetString (" Git remote URL (note: if authentication is required, use SSH, not HTTPS):" ,.remote ,,,,defaultPromptFlag )
0 commit comments