Merge pull request #2763 from node-red/simple-git-setting

Allow project workflow to be configured via settings file
This commit is contained in:
Nick O'Leary
2021-01-08 15:20:11 +00:00
committed by GitHub
5 changed files with 29 additions and 10 deletions

View File

@@ -421,7 +421,7 @@ Project.prototype.update = async function (user, data) {
}
return Promise.all(promises).then(function(res) {
var gitSettings = getUserGitSettings(user) || {};
var workflowMode = (gitSettings.workflow||{}).mode || "manual";
var workflowMode = (gitSettings.workflow||{}).mode || settings.editorTheme.projects.workflow.mode;
if (workflowMode === 'auto') {
return project.stageFile(modifiedFiles.map(f => project.paths[f])).then(() => {
return project.commit(user,{message:"Update "+modifiedFiles.join(", ")})

View File

@@ -34,7 +34,7 @@ var projectsEnabled = false;
var projectLogMessages = [];
var projectsDir;
var activeProject
var activeProject;
var globalGitUser = false;
@@ -106,6 +106,10 @@ function init(_settings, _runtime) {
} catch(err) {
}
} else {
// Ensure there's a default workflow mode set
settings.editorTheme.projects.workflow = {
mode: (settings.editorTheme.projects.workflow || {}).mode || "manual"
}
globalGitUser = gitConfig.user;
Projects.init(settings,runtime);
sshTools.init(settings);
@@ -574,11 +578,13 @@ async function saveFlows(flows, user) {
}
return util.writeFile(flowsFullPath, flowData, flowsFileBackup).then(() => {
var gitSettings = getUserGitSettings(user) || {};
var workflowMode = (gitSettings.workflow||{}).mode || "manual";
if (activeProject && workflowMode === 'auto') {
return activeProject.stageFile([flowsFullPath, credentialsFile]).then(() => {
return activeProject.commit(user,{message:"Update flow files"})
})
if (activeProject) {
var workflowMode = (gitSettings.workflow||{}).mode || settings.editorTheme.projects.workflow.mode;
if (workflowMode === 'auto') {
return activeProject.stageFile([flowsFullPath, credentialsFile]).then(() => {
return activeProject.commit(user,{message:"Update flow files"})
})
}
}
});
}