public static Patch GetSingleDiff(string from, string to, string filter, string extraDiffArguments)
{
filter = FixPath(filter);
from = FixPath(from);
to = FixPath(to);
var patchManager = new PatchManager();
var arguments = string.Format("diff{0} \"{1}\" \"{2}\" -- \"{3}\"", extraDiffArguments, to, from, filter);
patchManager.LoadPatch(RunCachableCmd(Settings.GitCommand, arguments), false);
return patchManager.patches.Count > 0 ? patchManager.patches[0] : null;
}