Issue#935

Final Jenkins testrun:
https://jenkins.catrob.at/view/All-Categories/view/Catroid-multi-job/job/Catroid-Multi-Job-Custom-Branch/1924/

Process How Files are getting saved (in order to avoid data loss):
You have 3 steps. During/Before/After the first 2 steps (The renaming should be atomic on Linux/Android) an error can occur, this will be checked within the SanityCheckFunction().

-- Filestate: code.xml
1. Write to tmp_code.xml            
-- Filestate: code.xml tmp_code.xml   
2. Delete code.xml
-- Filestate: tmp_code.xml   
3. (usually atomic) rename tmp_code.xml    --> code.xml
-- Filestate: code.xml

@aried3r 
Can we make this knowledge explicit by adding another assert statement here? Actually this is one of the cases where I'm for comments, because the three states (wrt to code.xml and tmp.xml) aren't obvious, even with the test case, imo.

@stypen Can we comment this a bit? After all, it's a blocking issue and we shouldn't regress.