return;
}
+ var latestState = action.FileState;
+
//Do not upload files in conflict
- if (action.FileState.FileStatus == FileStatus.Conflict)
+ if (latestState.FileStatus == FileStatus.Conflict)
{
Log.InfoFormat("Skipping file in conflict [{0}]", fileInfo.FullName);
return;
}
//Do not upload files when we have no permission
- if (action.FileState.FileStatus == FileStatus.Forbidden)
+ if (latestState.FileStatus == FileStatus.Forbidden)
{
Log.InfoFormat("Skipping forbidden file [{0}]", fileInfo.FullName);
return;
var cloudInfo = client.GetObjectInfo(account, cloudFile.Container, cloudFile.Name);
//If this is a read-only file, do not upload changes
- if (cloudInfo.AllowedTo == "read")
+ if (!cloudInfo.IsWritable(action.AccountInfo.UserName))
return;
if (fileInfo is DirectoryInfo)
if (response.StatusCode == HttpStatusCode.Forbidden)
{
StatusKeeper.SetFileState(fileInfo.FullName, FileStatus.Forbidden, FileOverlayStatus.Conflict, "Forbidden");
+
}
else
//In any other case, propagate the error