Skip to content

Commit 5093dff

Browse files
committed
Updates to Utils
1 parent f3f74ac commit 5093dff

File tree

1 file changed

+35
-17
lines changed

1 file changed

+35
-17
lines changed

cls/SourceControl/Git/Utils.cls

Lines changed: 35 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,16 @@ ClassMethod PullEventClass() As %String [ CodeMode = expression ]
4949
$Get(@..#Storage@("settings","pullEventClass"), ##class(SourceControl.Git.PullEventHandler.Default).%ClassName(1))
5050
}
5151

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+
5262
ClassMethod GitBinExists() As %Boolean
5363
{
5464
#if $system.Version.GetOS()'="Windows"
@@ -121,8 +131,6 @@ ClassMethod UserAction(InternalName As %String, MenuName As %String, ByRef Targe
121131
#dim menuName As %String = $Piece(MenuName,",")
122132
#dim menuItemName As %String = $Piece(MenuName,",",2)
123133
#dim ec As %Status = $$$OK
124-
125-
set ^mtemptsl($i(^mtemptsl)) = $lb(menuName,menuItemName)
126134

127135
if ..GitBinExists() = 0 && (menuItemName'="%Cache-Git-Settings") &&
128136
($system.Version.GetOS()="Windows") {
@@ -133,7 +141,7 @@ ClassMethod UserAction(InternalName As %String, MenuName As %String, ByRef Targe
133141
if (menuItemName = "%Settings") {
134142
set Action = 2
135143
set Target = "/isc/studio/usertemplates/gitsourcecontrol/gitprojectsettings.csp?NSpace="_$namespace_"&Username="_$username
136-
}elseif (menuItemName = "%Init") {
144+
} elseif (menuItemName = "%Init") {
137145
if ##class(%File).CreateDirectoryChain(..TempFolder()) {
138146
// cleanup items info
139147
kill @..#Storage@("items")
@@ -146,41 +154,40 @@ ClassMethod UserAction(InternalName As %String, MenuName As %String, ByRef Targe
146154
} elseif (menuItemName = "%GitWebUI") {
147155
set Action = 2
148156
set Target = "/isc/studio/usertemplates/gitsourcecontrol/webuidriver.csp/"_$namespace
149-
}elseif (menuItemName = "%Export") || (menuItemName = "%ExportForce") {
157+
} elseif (menuItemName = "%Export") || (menuItemName = "%ExportForce") {
150158
write "==export start==",!
151159
set ec = ..ExportAll($case(menuItemName="%ExportForce",1:$$$Force,:0))
152160
if ec {
153161
write !,"==export done==",!
154162
}
155-
}elseif (menuItemName = "%Import") {
163+
} elseif (menuItemName = "%Import") {
156164
set ec = ..ImportAll()
157165
set Reload = 1
158-
}elseif (menuItemName = "%ImportForce") {
166+
} elseif (menuItemName = "%ImportForce") {
159167
set ec = ..ImportAll($$$Force)
160168
set Reload = 1
161-
}elseif (menuItemName = "%OpenRepoFolder") {
169+
} elseif (menuItemName = "%OpenRepoFolder") {
162170
set Action = 3
163171
set Target = ..TempFolder()
164-
}elseif (menuItemName = "%Revert") {
172+
} elseif (menuItemName = "%Revert") {
165173
set Reload = 1
166174
quit ..Revert(InternalName)
167-
}elseif (menuItemName = "%Commit") {
175+
} elseif (menuItemName = "%Commit") {
168176
set Target = "Please enter a commit message"
169177
set Action = 7
170178
quit $$$OK
171-
}elseif (menuItemName = "%Push") {
179+
} elseif (menuItemName = "%Push") {
172180
quit ..Push()
173-
}elseif (menuItemName = "%Fetch") {
181+
} elseif (menuItemName = "%Fetch") {
174182
$$$QuitOnError(..Fetch(.diffFiles))
175183
set pointer = 0
176184
while $ListNext(diffFiles, pointer, item){
177185
write !,item
178186
}
179187
write !
180-
}elseif (menuItemName = "%Pull") {
188+
} elseif (menuItemName = "%Pull") {
181189
quit ..Pull()
182-
}
183-
elseif ..IsMenuGitCommand(menuItemName) {
190+
} elseif ..IsMenuGitCommand(menuItemName) {
184191
set Action = 3
185192
#dim command As %String = $ZConvert($Extract(menuItemName, 2, *), "L")
186193
set ec = $$$OK
@@ -192,16 +199,20 @@ ClassMethod UserAction(InternalName As %String, MenuName As %String, ByRef Targe
192199
set Target = ..GitCommand(command)
193200
}
194201
}
195-
}elseif (menuName = "%SourceContext") {
202+
} elseif (menuName = "%SourceContext") {
196203

197204
if (..Type(InternalName) = "csp") && ($Extract(InternalName,1) '= "/") {
198205
set InternalName = "/" _ InternalName
199206
}
200207

201208
if (menuItemName = "%AddToSC") {
202209
set ec = ..AddToSourceControl(InternalName)
203-
}elseif (menuItemName = "%RemoveFromSC") {
210+
} elseif (menuItemName = "%RemoveFromSC") {
204211
set ec = ..RemoveFromSourceControl(InternalName)
212+
} elseif (menuItemName = "%Commit") {
213+
set Target = "Please enter a commit message"
214+
set Action = 7
215+
quit $$$OK
205216
}
206217
if ..IsContextMenuGitCommand(menuItemName) {
207218
set Action = 3
@@ -283,7 +294,6 @@ ClassMethod Fetch(ByRef diffFiles) As %Status
283294

284295
ClassMethod Pull(remote As %String = "origin") As %Status
285296
{
286-
287297
#define Force 1
288298
do ##class(SourceControl.Git.Utils).RunGitCommandWithInput("branch",,.errStream,.outStream,"--show-current")
289299
set branchName = outStream.ReadLine(outStream.Size)
@@ -1309,5 +1319,13 @@ ClassMethod NameToInternalName(Name, IgnorePercent = 1, IgnoreNonexistent = 1) A
13091319
Quit ..NormalizeInternalName(InternalName)
13101320
}
13111321

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+
13121330
}
13131331

0 commit comments

Comments
 (0)