Skip to content

Commit be083ed

Browse files
authored
Merge pull request #427 from intersystems/webui-new-repo-bugs
Webui new repo bugs
2 parents b398d5d + de431d8 commit be083ed

File tree

3 files changed

+32
-7
lines changed

3 files changed

+32
-7
lines changed

cls/SourceControl/Git/Settings.cls

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,10 @@ Method %Save() As %Status
8888

8989
set ..namespaceTemp = ##class(%Library.File).NormalizeDirectory(..namespaceTemp)
9090
set @storage@("settings","namespaceTemp") = ..namespaceTemp
91-
if ('##class(%File).DirectoryExists(@storage@("settings","namespaceTemp"))){
92-
do ##class(%Library.File).CreateDirectoryChain(@storage@("settings","namespaceTemp"))
93-
}
91+
set workMgr = $System.WorkMgr.%New("")
92+
$$$ThrowOnError(workMgr.Queue("##class(SourceControl.Git.Settings).CreateNamespaceTempFolder"))
93+
$$$ThrowOnError(workMgr.WaitForComplete())
94+
9495
set @storage@("settings","user",$username,"gitUserName") = ..gitUserName
9596

9697
set @storage@("settings","user",$username,"gitUserEmail") = ..gitUserEmail
@@ -117,6 +118,16 @@ Method %Save() As %Status
117118
quit $$$OK
118119
}
119120

121+
ClassMethod CreateNamespaceTempFolder() As %Status
122+
{
123+
set storage = ##class(SourceControl.Git.Utils).#Storage
124+
if ('##class(%File).DirectoryExists(@storage@("settings","namespaceTemp"))){
125+
do ##class(%Library.File).CreateDirectoryChain(@storage@("settings","namespaceTemp"))
126+
}
127+
128+
return $$$OK
129+
}
130+
120131
ClassMethod Configure() As %Boolean [ CodeMode = objectgenerator ]
121132
{
122133
do %code.WriteLine(" set inst = ..%New()")
@@ -188,10 +199,18 @@ Method OnAfterConfigure() As %Boolean
188199
}
189200
}
190201
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)
191209
// using work queue manager ensures proper OS user context/file ownership
192210
set workMgr = $System.WorkMgr.%New("")
193211
$$$ThrowOnError(workMgr.Queue("##class(SourceControl.Git.Utils).Init"))
194212
$$$ThrowOnError(workMgr.WaitForComplete())
213+
195214
do ##class(SourceControl.Git.Utils).EmptyInitialCommit()
196215
} elseif (value = 2) {
197216
set response = ##class(%Library.Prompt).GetString("Git remote URL (note: if authentication is required, use SSH, not HTTPS):",.remote,,,,defaultPromptFlag)

git-webui/release/share/git-webui/webui/js/git-webui.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1304,8 +1304,11 @@ webui.DiffView = function(sideBySide, hunkSelectionAllowed, parent, stashedCommi
13041304
self.gitFile = "\"" + file + "\"";
13051305
self.noIndex = ""
13061306
if(path.length == 0 && file != undefined){
1307-
self.gitFile = " /dev/null " + "\"" + file + "\"";
1308-
self.noIndex = " --no-index "
1307+
self.gitFile = " /dev/null " + file;
1308+
self.noIndex = " --no-index ";
1309+
if (self.gitDiffOpts == "--cached") {
1310+
self.gitDiffOpts = "";
1311+
}
13091312
}
13101313
if (self.gitCmd) {
13111314
var fullCmd = self.gitCmd;

git-webui/src/share/git-webui/webui/js/git-webui.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1304,8 +1304,11 @@ webui.DiffView = function(sideBySide, hunkSelectionAllowed, parent, stashedCommi
13041304
self.gitFile = "\"" + file + "\"";
13051305
self.noIndex = ""
13061306
if(path.length == 0 && file != undefined){
1307-
self.gitFile = " /dev/null " + "\"" + file + "\"";
1308-
self.noIndex = " --no-index "
1307+
self.gitFile = " /dev/null " + file;
1308+
self.noIndex = " --no-index ";
1309+
if (self.gitDiffOpts == "--cached") {
1310+
self.gitDiffOpts = "";
1311+
}
13091312
}
13101313
if (self.gitCmd) {
13111314
var fullCmd = self.gitCmd;

0 commit comments

Comments
 (0)