@@ -49,6 +49,16 @@ ClassMethod PullEventClass() As %String [ CodeMode = expression ]
49
49
$Get (@..#Storage@(" settings" ," pullEventClass" ), ##class (SourceControl.Git.PullEventHandler.Default ).%ClassName (1 ))
50
50
}
51
51
52
+ /// Returns the current (or previous) value of the flag.
53
+ ClassMethod Locked (newFlagValue As %Boolean ) As %Boolean
54
+ {
55
+ set result = $Get (@..#Storage@(" settings" ," locked" ),0 )
56
+ if $Data (newFlagValue )#2 {
57
+ set @..#Storage@(" settings" ," locked" ) = ''newFlagValue
58
+ }
59
+ quit result
60
+ }
61
+
52
62
ClassMethod GitBinExists () As %Boolean
53
63
{
54
64
#if $system.Version.GetOS()'="Windows"
@@ -121,8 +131,6 @@ ClassMethod UserAction(InternalName As %String, MenuName As %String, ByRef Targe
121
131
#dim menuName As %String = $Piece (MenuName ," ," )
122
132
#dim menuItemName As %String = $Piece (MenuName ," ," ,2 )
123
133
#dim ec As %Status = $$$OK
124
-
125
- set ^mtemptsl ($i (^mtemptsl )) = $lb (menuName ,menuItemName )
126
134
127
135
if ..GitBinExists () = 0 && (menuItemName '=" %Cache-Git-Settings" ) &&
128
136
($system .Version .GetOS ()=" Windows" ) {
@@ -133,7 +141,7 @@ ClassMethod UserAction(InternalName As %String, MenuName As %String, ByRef Targe
133
141
if (menuItemName = " %Settings" ) {
134
142
set Action = 2
135
143
set Target = " /isc/studio/usertemplates/gitsourcecontrol/gitprojectsettings.csp?NSpace=" _$namespace _" &Username=" _$username
136
- }elseif (menuItemName = " %Init" ) {
144
+ } elseif (menuItemName = " %Init" ) {
137
145
if ##class (%File ).CreateDirectoryChain (..TempFolder ()) {
138
146
// cleanup items info
139
147
kill @..#Storage@(" items" )
@@ -146,41 +154,40 @@ ClassMethod UserAction(InternalName As %String, MenuName As %String, ByRef Targe
146
154
} elseif (menuItemName = " %GitWebUI" ) {
147
155
set Action = 2
148
156
set Target = " /isc/studio/usertemplates/gitsourcecontrol/webuidriver.csp/" _$namespace
149
- }elseif (menuItemName = " %Export" ) || (menuItemName = " %ExportForce" ) {
157
+ } elseif (menuItemName = " %Export" ) || (menuItemName = " %ExportForce" ) {
150
158
write " ==export start==" ,!
151
159
set ec = ..ExportAll ($case (menuItemName =" %ExportForce" ,1 :$$$Force,:0 ))
152
160
if ec {
153
161
write !," ==export done==" ,!
154
162
}
155
- }elseif (menuItemName = " %Import" ) {
163
+ } elseif (menuItemName = " %Import" ) {
156
164
set ec = ..ImportAll ()
157
165
set Reload = 1
158
- }elseif (menuItemName = " %ImportForce" ) {
166
+ } elseif (menuItemName = " %ImportForce" ) {
159
167
set ec = ..ImportAll ($$$Force)
160
168
set Reload = 1
161
- }elseif (menuItemName = " %OpenRepoFolder" ) {
169
+ } elseif (menuItemName = " %OpenRepoFolder" ) {
162
170
set Action = 3
163
171
set Target = ..TempFolder ()
164
- }elseif (menuItemName = " %Revert" ) {
172
+ } elseif (menuItemName = " %Revert" ) {
165
173
set Reload = 1
166
174
quit ..Revert (InternalName )
167
- }elseif (menuItemName = " %Commit" ) {
175
+ } elseif (menuItemName = " %Commit" ) {
168
176
set Target = " Please enter a commit message"
169
177
set Action = 7
170
178
quit $$$OK
171
- }elseif (menuItemName = " %Push" ) {
179
+ } elseif (menuItemName = " %Push" ) {
172
180
quit ..Push ()
173
- }elseif (menuItemName = " %Fetch" ) {
181
+ } elseif (menuItemName = " %Fetch" ) {
174
182
$$$QuitOnError(..Fetch (.diffFiles ))
175
183
set pointer = 0
176
184
while $ListNext (diffFiles , pointer , item ){
177
185
write !,item
178
186
}
179
187
write !
180
- }elseif (menuItemName = " %Pull" ) {
188
+ } elseif (menuItemName = " %Pull" ) {
181
189
quit ..Pull ()
182
- }
183
- elseif ..IsMenuGitCommand (menuItemName ) {
190
+ } elseif ..IsMenuGitCommand (menuItemName ) {
184
191
set Action = 3
185
192
#dim command As %String = $ZConvert ($Extract (menuItemName , 2 , *), " L" )
186
193
set ec = $$$OK
@@ -192,16 +199,20 @@ ClassMethod UserAction(InternalName As %String, MenuName As %String, ByRef Targe
192
199
set Target = ..GitCommand (command )
193
200
}
194
201
}
195
- }elseif (menuName = " %SourceContext" ) {
202
+ } elseif (menuName = " %SourceContext" ) {
196
203
197
204
if (..Type (InternalName ) = " csp" ) && ($Extract (InternalName ,1 ) '= " /" ) {
198
205
set InternalName = " /" _ InternalName
199
206
}
200
207
201
208
if (menuItemName = " %AddToSC" ) {
202
209
set ec = ..AddToSourceControl (InternalName )
203
- }elseif (menuItemName = " %RemoveFromSC" ) {
210
+ } elseif (menuItemName = " %RemoveFromSC" ) {
204
211
set ec = ..RemoveFromSourceControl (InternalName )
212
+ } elseif (menuItemName = " %Commit" ) {
213
+ set Target = " Please enter a commit message"
214
+ set Action = 7
215
+ quit $$$OK
205
216
}
206
217
if ..IsContextMenuGitCommand (menuItemName ) {
207
218
set Action = 3
@@ -283,7 +294,6 @@ ClassMethod Fetch(ByRef diffFiles) As %Status
283
294
284
295
ClassMethod Pull (remote As %String = " origin" ) As %Status
285
296
{
286
-
287
297
#define Force 1
288
298
do ##class (SourceControl.Git.Utils ).RunGitCommandWithInput (" branch" ,,.errStream ,.outStream ," --show-current" )
289
299
set branchName = outStream .ReadLine (outStream .Size )
@@ -1309,5 +1319,13 @@ ClassMethod NameToInternalName(Name, IgnorePercent = 1, IgnoreNonexistent = 1) A
1309
1319
Quit ..NormalizeInternalName (InternalName )
1310
1320
}
1311
1321
1322
+ ClassMethod OutputConfigureMessage ()
1323
+ {
1324
+ if '..IsNamespaceInGit () {
1325
+ write !!," NOTE: To configure settings for git-source-control, run the following command: " ,!
1326
+ write " do ##class(SourceControl.Git.API).Configure()" ,!
1327
+ }
1328
+ }
1329
+
1312
1330
}
1313
1331
0 commit comments