public MergeFilePaths GetPaths(string relPath) { var fileName = Path.GetFileNameWithoutExtension(relPath) + "_" + Path.GetFileNameWithoutExtension(Path.GetRandomFileName()) + Path.GetExtension(relPath); var tempFolder = Path.GetTempPath(); var result = new MergeFilePaths() { Base = Path.Combine(tempFolder, "Base_" + fileName), Local = Path.Combine(tempFolder, "Local_" + fileName), Remote = Path.Combine(tempFolder, "Remote_" + fileName), Merged = Path.Combine(_path, relPath) }; using (var write = new FileStream(result.Base, FileMode.Create, FileAccess.Write)) { GetFileBytes(_baseCommit, relPath).CopyTo(write); } GetFileBytes(_baseCommit, relPath).WriteTo(result.Base); GetFileBytes(_localCommit, relPath).WriteTo(result.Local); GetFileBytes(_remoteCommit, relPath).WriteTo(result.Remote); return(result); }
public MergeFilePaths GetPaths(string relPath) { var fileName = Path.GetFileNameWithoutExtension(relPath) + "_" + Path.GetFileNameWithoutExtension(Path.GetRandomFileName()) + Path.GetExtension(relPath); var tempFolder = Path.GetTempPath(); var result = new MergeFilePaths() { Base = Path.Combine(tempFolder, "Base_" + fileName), Local = Path.Combine(tempFolder, "Local_" + fileName), Remote = Path.Combine(tempFolder, "Remote_" + fileName), Merged = Path.Combine(_repo.FullPath, relPath) }; File.WriteAllBytes(result.Base, GetFileBytes(_baseRev, relPath)); File.WriteAllBytes(result.Local, GetFileBytes(_local, relPath)); File.WriteAllBytes(result.Remote, GetFileBytes(_remote, relPath)); return result; }