From 67d1e2acd8caeb0956b97982123f01f64cfdc52a Mon Sep 17 00:00:00 2001 From: Dave C-J Date: Tue, 6 May 2014 15:22:37 +0100 Subject: [PATCH] Create a copy of the previous flow file (flow.previous) before each deploy closes #184 In case of emergency you can now find the previous flow file before you hit deploy in a file called flow.previous . As indicated it is the flow that was running prior to you hitting deploy... --- .gitignore | 1 + red/storage/localfilesystem.js | 3 +++ 2 files changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 853218a39..b23124927 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ node_modules credentials.json flows*.json +flow.backup *_cred* nodes/node-red-nodes/ .npm diff --git a/red/storage/localfilesystem.js b/red/storage/localfilesystem.js index e7832a936..5dc191768 100644 --- a/red/storage/localfilesystem.js +++ b/red/storage/localfilesystem.js @@ -27,6 +27,7 @@ var promiseDir = nodeFn.lift(mkdirp); var settings; var flowsFile; var flowsFullPath; +var flowsPrev; var credentialsFile; var oldCredentialsFile; var userDir; @@ -152,6 +153,7 @@ var localfilesystem = { var fsext = fspath.extname(flowsFile); credentialsFile = fspath.join(userDir,fspath.basename(flowsFile,fsext)+"_cred"+fsext); oldCredentialsFile = fspath.join(userDir,"credentials.json"); + flowsPrev = fspath.join(userDir,"flow.backup"); libDir = fspath.join(userDir,"lib"); libFlowsDir = fspath.join(libDir,"flows"); @@ -176,6 +178,7 @@ var localfilesystem = { }, saveFlows: function(flows) { + fs.rename(flowsFullPath,flowsPrev); return nodeFn.call(fs.writeFile, flowsFullPath, JSON.stringify(flows)); },