本文整理汇总了C#中PatchApply.PatchManager.LoadPatch方法的典型用法代码示例。如果您正苦于以下问题:C# PatchManager.LoadPatch方法的具体用法?C# PatchManager.LoadPatch怎么用?C# PatchManager.LoadPatch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PatchApply.PatchManager
的用法示例。
在下文中一共展示了PatchManager.LoadPatch方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestLoadPatch
public void TestLoadPatch()
{
PatchManager manager = new PatchManager();
PatchApply.Patch expectedPatch = new PatchApply.Patch();
expectedPatch.Type = PatchApply.Patch.PatchType.ChangeFile;
expectedPatch.Apply = true;
expectedPatch.PatchHeader = "diff --git a/thisisatest.txt b/thisisatest.txt";
expectedPatch.PatchIndex = "index 5e4dce2..5eb1e6f 100644";
expectedPatch.FileNameA = "thisisatest.txt";
expectedPatch.FileNameB = "thisisatest.txt";
expectedPatch.AppendTextLine(expectedPatch.PatchHeader);
expectedPatch.AppendTextLine(expectedPatch.PatchIndex);
expectedPatch.AppendTextLine("--- a/thisisatest.txt");
expectedPatch.AppendTextLine("+++ b/thisisatest.txt");
expectedPatch.AppendTextLine("@@ -1,2 +1,2 @@");
expectedPatch.AppendTextLine("iiiiii");
expectedPatch.AppendTextLine("-asdkjaldskjlaksd");
expectedPatch.AppendTextLine("+changed again");
manager.LoadPatch(expectedPatch.Text, false, Encoding.Default);
PatchApply.Patch createdPatch = manager.Patches.First();
Assert.AreEqual(expectedPatch.Text, createdPatch.Text);
}
示例2: TestCorrectlyLoadsTheRightNumberOfDiffsInAPatchFile
public void TestCorrectlyLoadsTheRightNumberOfDiffsInAPatchFile()
{
var manager = new PatchManager();
var testPatch = Encoding.UTF8.GetString(TestResource.TestPatch);
manager.LoadPatch(testPatch, false);
Assert.AreEqual(12, manager.Patches.Count);
}
示例3: TestCorrectlyLoadsTheRightFilenamesInAPatchFile
public void TestCorrectlyLoadsTheRightFilenamesInAPatchFile()
{
var manager = new PatchManager();
var testPatch = Encoding.UTF8.GetString(TestResource.TestPatch);
manager.LoadPatch(testPatch, false);
Assert.AreEqual(12, manager.Patches.Select(p => p.FileNameA).Distinct().Count());
Assert.AreEqual(12, manager.Patches.Select(p => p.FileNameB).Distinct().Count());
}
示例4: TestCorrectlyLoadsTheRightTypeOfDiffsInAPatchFile
public void TestCorrectlyLoadsTheRightTypeOfDiffsInAPatchFile()
{
var manager = new PatchManager();
var testPatch = Encoding.UTF8.GetString(TestResource.TestPatch);
manager.LoadPatch(testPatch, false);
Assert.IsTrue(manager.Patches.Any(p => p.Type == Patch.PatchType.NewFile));
Assert.IsTrue(manager.Patches.Any(p => p.Type == Patch.PatchType.ChangeFile));
Assert.IsTrue(manager.Patches.Any(p => p.Type == Patch.PatchType.DeleteFile));
}
示例5: GetStashedItems
public static List<Patch> GetStashedItems(string stashName)
{
var patchManager = new PatchManager();
patchManager.LoadPatch(RunCmd(Settings.GitCommand, "stash show -p " + stashName), false);
return patchManager.Patches;
}
示例6: GetSingleDiff
public static Patch GetSingleDiff(string from, string to, string fileName, string oldFileName, string extraDiffArguments)
{
if (!string.IsNullOrEmpty(fileName))
fileName = string.Concat("\"", FixPath(fileName), "\"");
if (!string.IsNullOrEmpty(oldFileName))
oldFileName = string.Concat("\"", FixPath(oldFileName), "\"");
from = FixPath(from);
to = FixPath(to);
if (Settings.UsePatienceDiffAlgorithm)
extraDiffArguments = string.Concat(extraDiffArguments, " --patience");
var patchManager = new PatchManager();
var arguments = string.Format("diff{0} -M -C \"{1}\" \"{2}\" -- {3} {4}", extraDiffArguments, to, from, fileName, oldFileName);
patchManager.LoadPatch(RunCachableCmd(Settings.GitCommand, arguments), false);
return patchManager.Patches.Count > 0 ? patchManager.Patches[0] : null;
}
示例7: GetDiff
public static List<Patch> GetDiff(string from, string to, string extraDiffArguments)
{
PatchManager patchManager = new PatchManager();
patchManager.LoadPatch(GitCommands.RunCachableCmd(Settings.GitCommand, "diff" + extraDiffArguments + " \"" + from + "\" \"" + to + "\""), false);
return patchManager.patches;
}
示例8: GetSingleDiff
public static Patch GetSingleDiff(string from, string to, string filter, string extraDiffArguments)
{
filter = FixPath(filter);
from = FixPath(from);
to = FixPath(to);
PatchManager patchManager = new PatchManager();
patchManager.LoadPatch(GitCommands.RunCachableCmd(Settings.GitCommand, "diff" + extraDiffArguments + " \"" + to + "\" \"" + from + "\" -- \"" + filter + "\""), false);
if (patchManager.patches.Count > 0)
return patchManager.patches[0];
return null;
}
示例9: GetSingleDiff
public Patch GetSingleDiff(string @from, string to, string fileName, string oldFileName, string extraDiffArguments, Encoding encoding, bool cacheResult)
{
if (!string.IsNullOrEmpty(fileName))
{
fileName = fileName.ToPosixPath();
}
if (!string.IsNullOrEmpty(oldFileName))
{
oldFileName = oldFileName.ToPosixPath();
}
//fix refs slashes
from = from.ToPosixPath();
to = to.ToPosixPath();
string commitRange = string.Empty;
if (!to.IsNullOrEmpty())
commitRange = "\"" + to + "\"";
if (!from.IsNullOrEmpty())
commitRange = string.Join(" ", commitRange, "\"" + from + "\"");
if (AppSettings.UsePatienceDiffAlgorithm)
extraDiffArguments = string.Concat(extraDiffArguments, " --patience");
var patchManager = new PatchManager();
var arguments = String.Format("diff {0} -M -C {1} -- {2} {3}", extraDiffArguments, commitRange,
fileName.Quote(), oldFileName.Quote());
string patch;
if (cacheResult)
patch = RunCacheableCmd(AppSettings.GitCommand, arguments, LosslessEncoding);
else
patch = RunCmd(AppSettings.GitCommand, arguments, LosslessEncoding);
patchManager.LoadPatch(patch, false, encoding);
return GetPatch(patchManager, fileName, oldFileName);
}
示例10: GetSingleDiff
public Patch GetSingleDiff(string @from, string to, string fileName, string oldFileName, string extraDiffArguments, Encoding encoding, bool cacheResult)
{
string fileA = null;
string fileB = null;
if (!string.IsNullOrEmpty(fileName))
{
fileB = fileName;
fileName = string.Concat("\"", FixPath(fileName), "\"");
}
if (!string.IsNullOrEmpty(oldFileName))
{
fileA = oldFileName;
oldFileName = string.Concat("\"", FixPath(oldFileName), "\"");
}
if (fileA.IsNullOrEmpty())
fileA = fileB;
else if (fileB.IsNullOrEmpty())
fileB = fileA;
from = FixPath(from);
to = FixPath(to);
string commitRange = string.Empty;
if (!to.IsNullOrEmpty())
commitRange = "\"" + to + "\"";
if (!from.IsNullOrEmpty())
commitRange = string.Join(" ", commitRange, "\"" + from + "\"");
if (AppSettings.UsePatienceDiffAlgorithm)
extraDiffArguments = string.Concat(extraDiffArguments, " --patience");
var patchManager = new PatchManager();
var arguments = String.Format("diff {0} -M -C {1} -- {2} {3}", extraDiffArguments, commitRange, fileName, oldFileName);
string patch;
if (cacheResult)
patch = RunCacheableCmd(AppSettings.GitCommand, arguments, LosslessEncoding);
else
patch = RunCmd(AppSettings.GitCommand, arguments, LosslessEncoding);
patchManager.LoadPatch(patch, false, encoding);
foreach (Patch p in patchManager.Patches)
if (p.FileNameA.Equals(fileA) && p.FileNameB.Equals(fileB) ||
p.FileNameA.Equals(fileB) && p.FileNameB.Equals(fileA))
return p;
return patchManager.Patches.Count > 0 ? patchManager.Patches[patchManager.Patches.Count - 1] : null;
}
示例11: GetSingleDiff
public static Patch GetSingleDiff(string from, string to, string filter)
{
filter = FixPath(filter);
from = FixPath(from);
to = FixPath(to);
PatchManager patchManager = new PatchManager();
patchManager.LoadPatch(GitCommands.RunCmd(Settings.GitDir + "git.cmd", "diff --ignore-submodules \"" + to + "\" \"" + from + "\" -- \"" + filter + "\""), false);
if (patchManager.patches.Count > 0)
return patchManager.patches[0];
return null;
}
示例12: GetDiff
public static List<Patch> GetDiff(string from, string to)
{
PatchManager patchManager = new PatchManager();
patchManager.LoadPatch(GitCommands.RunCmd(Settings.GitDir + "git.cmd", "diff \"" + from + "\" \"" + to + "\""), false);
return patchManager.patches;
}
示例13: GetStashedItems
public static List<Patch> GetStashedItems(string stashName)
{
PatchManager patchManager = new PatchManager();
patchManager.LoadPatch(GitCommands.RunCmd(Settings.GitDir + "git.cmd", "stash show -p " + stashName), false);
return patchManager.patches;
}
示例14: GetSingleDiff
public Patch GetSingleDiff(string @from, string to, string fileName, string oldFileName, string extraDiffArguments, Encoding encoding)
{
if (!string.IsNullOrEmpty(fileName))
fileName = string.Concat("\"", FixPath(fileName), "\"");
if (!string.IsNullOrEmpty(oldFileName))
oldFileName = string.Concat("\"", FixPath(oldFileName), "\"");
from = FixPath(from);
to = FixPath(to);
string commitRange = string.Empty;
if (!to.IsNullOrEmpty())
commitRange = "\"" + to + "\"";
if (!from.IsNullOrEmpty())
commitRange = commitRange.Join(" ", "\"" + from + "\"");
if (Settings.UsePatienceDiffAlgorithm)
extraDiffArguments = string.Concat(extraDiffArguments, " --patience");
var patchManager = new PatchManager();
var arguments = string.Format("diff {0} -M -C {1} -- {2} {3}", extraDiffArguments, commitRange, fileName, oldFileName);
patchManager.LoadPatch(this.RunCachableCmd(Settings.GitCommand, arguments, Settings.LosslessEncoding), false, encoding);
return patchManager.Patches.Count > 0 ? patchManager.Patches[patchManager.Patches.Count - 1] : null;
}
示例15: GetStashedItems
public List<Patch> GetStashedItems(string stashName)
{
var patchManager = new PatchManager();
patchManager.LoadPatch(RunGitCmd("stash show -p " + stashName), false);
return patchManager.Patches;
}