|
@@ -1,9 +1,9 @@
|
|
|
Path = require "path"
|
|
Path = require "path"
|
|
|
fs = require "fs"
|
|
fs = require "fs"
|
|
|
-mkdirp = require "mkdirp"
|
|
|
|
|
logger = require "logger-sharelatex"
|
|
logger = require "logger-sharelatex"
|
|
|
settings = require("settings-sharelatex")
|
|
settings = require("settings-sharelatex")
|
|
|
Errors = require "./Errors"
|
|
Errors = require "./Errors"
|
|
|
|
|
+SafeReader = require "./SafeReader"
|
|
|
|
|
|
|
|
module.exports = ResourceStateManager =
|
|
module.exports = ResourceStateManager =
|
|
|
|
|
|
|
@@ -37,10 +37,9 @@ module.exports = ResourceStateManager =
|
|
|
|
|
|
|
|
checkProjectStateHashMatches: (state, basePath, callback) ->
|
|
checkProjectStateHashMatches: (state, basePath, callback) ->
|
|
|
stateFile = Path.join(basePath, @SYNC_STATE_FILE)
|
|
stateFile = Path.join(basePath, @SYNC_STATE_FILE)
|
|
|
- fs.readFile stateFile, {encoding:'ascii'}, (err, oldState) ->
|
|
|
|
|
- if err? and err.code isnt 'ENOENT'
|
|
|
|
|
- return callback(err)
|
|
|
|
|
- else if state isnt oldState
|
|
|
|
|
|
|
+ SafeReader.readFile stateFile, 64, 'ascii', (err, oldState) ->
|
|
|
|
|
+ return callback(err) if err?
|
|
|
|
|
+ if state isnt oldState
|
|
|
return callback new Errors.FilesOutOfSyncError("invalid state for incremental update")
|
|
return callback new Errors.FilesOutOfSyncError("invalid state for incremental update")
|
|
|
- else if state is oldState
|
|
|
|
|
|
|
+ else
|
|
|
callback(null)
|
|
callback(null)
|