Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
    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;
    }