private void ProcessChange(string filename, Stream data) { var filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, _syncDir, filename); var deltaFilename = OctodiffHelper.GetDeltaName(filePath); var deltaFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, _tmpDir, filename); using (var fileStream = File.Create(deltaFilePath)) { data.Seek(0, SeekOrigin.Begin); data.CopyTo(fileStream); } var signatureFilename = OctodiffHelper.GetSignatureName(filePath); var signaturePath = Path.Combine(_tmpDir, signatureFilename); OctodiffHelper.ApplyDelta(filePath, signaturePath, deltaFilePath); }