コード例 #1
0
ファイル: Program.cs プロジェクト: visualhu/textdiff
        /// <summary>
        /// 比较给定的两个文件,生成patch文件,并应用Patch文件
        /// <remarks>
        /// Patch采用git apply命令实现。
        /// </remarks>
        /// </summary>
        /// <param name="baseText"></param>
        /// <param name="modifiedText"></param>
        public static int ApplyPatch(string baseFile, string modifiedFile)
        {
            var resultFileName = GenerateUniqueTextFileName();
            var patchFile      = string.Format("{0}{1}", BaseFilePath, resultFileName);

            GitUtil.DiffFile(baseFile, modifiedFile, patchFile);
            return(GitUtil.ApplyPatch(patchFile));
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: visualhu/textdiff
        /// <summary>
        /// 比较给定的两串文本,返回比较结果。
        /// <remarks>
        /// 比较算法采用git diff命令实现。
        /// </remarks>
        /// </summary>
        /// <param name="text1"></param>
        /// <param name="text2"></param>
        public static string DiffText(string text1, string text2)
        {
            var file1          = SaveTextToFile(text1);
            var file2          = SaveTextToFile(text2);
            var resultFileName = GenerateUniqueTextFileName();
            var resultFile     = string.Format("{0}{1}", BaseFilePath, resultFileName);
            var resultCode     = GitUtil.DiffFile(file1, file2, resultFile);

            return(GetFileContent(resultFileName, false));
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: visualhu/textdiff
        /// <summary>
        /// Merge给定的两串文本,返回Merge结果。
        /// <remarks>
        /// Merge采用git merge-file命令实现。
        /// </remarks>
        /// </summary>
        /// <param name="text1"></param>
        /// <param name="text2"></param>
        public static string MergeText(string text1, string text2)
        {
            var baseFile       = SaveTextToFile(text1);
            var currentFile    = SaveTextToFile(text1);
            var otherFile      = SaveTextToFile(text2);
            var resultFileName = GenerateUniqueTextFileName();
            var outputFile     = string.Format("{0}{1}", BaseFilePath, resultFileName);
            var resultCode     = GitUtil.MergeFile(baseFile, currentFile, otherFile, outputFile);

            return(GetFileContent(resultFileName, false));
        }