private QueryDiffParameters GetParameters(DiffOptions options) { Assert.IsNotNull(options); var parameters = new QueryDiffParameters() { Cached = _cached, Paths = _paths, }; ApplyCommonDiffOptions(parameters, options); return(parameters); }
private QueryDiffParameters GetParameters(DiffOptions options) { Assert.IsNotNull(options); var parameters = new QueryDiffParameters() { Revision1 = _revision1.Pointer, Revision2 = _revision2.Pointer, Paths = _paths, }; ApplyCommonDiffOptions(parameters, options); return(parameters); }
public Diff ParseDiff(QueryDiffParameters parameters, GitOutput output) { Assert.IsNotNull(parameters); Assert.IsNotNull(output); if(output.ExitCode != 0) { if(parameters.Cached && IsNoHEADCommitToCompareWithError(output.Error)) { throw new RepositoryIsEmptyException(output.Error); } output.Throw(); } var parser = new DiffParser(output.Output); var diffType = GetDiffType(parameters); return parser.ReadDiff(diffType); }
private static DiffType GetDiffType(QueryDiffParameters parameters) { Assert.IsNotNull(parameters); if(!string.IsNullOrWhiteSpace(parameters.Revision2)) { return DiffType.CommitCompare; } if(parameters.Cached) { return DiffType.StagedChanges; } else { return DiffType.UnstagedChanges; } }
public Command GetDiffCommand(QueryDiffParameters parameters) { Assert.IsNotNull(parameters); var args = new List<ICommandArgument>(); InsertDiffParameters1(parameters, args); if(!string.IsNullOrEmpty(parameters.Revision1)) { args.Add(new CommandParameter(parameters.Revision1)); } if(!string.IsNullOrEmpty(parameters.Revision2)) { args.Add(new CommandParameter(parameters.Revision2)); } InsertDiffParameters2(parameters, args); return new DiffCommand(args); }