public void AddFile(RepositoryFile file, Repository repository) { fileManager.AddFile(file, repository); }
public RepositoryFile MarkFileAsExisting(RepositoryFile file) { return fileManager.MarkFileAsExisting(file); }
public void RemoveFile(RepositoryFile file) { fileManager.RemoveFile(file); }
public RepositoryFile MarkFileAsDeleted(RepositoryFile file) { return fileManager.MarkFileAsDeleted(file); }
public Change(RepositoryFile file, ChangeType changeType, int lineIndex, String oldValue) : this(file, changeType) { this.lineIndex = lineIndex; this.oldValue = oldValue; }
public Change(RepositoryFile file, ChangeType changeType) { this.file = file; this.changeType = changeType; }
public Change(int id, RepositoryFile file, ChangeType changeType) : base(id) { this.file = file; this.changeType = changeType; }
private List<Change> GetFileChanges(String repositoryPath, String commitPath, RepositoryFile file) { var result = new List<Change>(); var sourcePath = file.GetFileRealPath(repositoryPath); var destinationPath = file.GetFileRealPath(commitPath); TextFile sourceFile; TextFile destinationFile; if (System.IO.File.Exists(destinationPath)) { destinationFile = new TextFile(destinationPath); } else { destinationFile = new TextFile(); DataManager.GetInstance().MarkFileAsDeleted(file); } sourceFile = new TextFile(sourcePath); var difference = DiffHelper.GetDifference(sourceFile, destinationFile); foreach (DiffResultSpan diffResultSpan in difference) { switch (diffResultSpan.Status) { case DiffResultSpanStatus.DeleteSource: for (int i = 0; i < diffResultSpan.Length; i++) { var change = new Change(file, ChangeType.Remove, diffResultSpan.SourceIndex, ((TextLine) sourceFile.GetByIndex(diffResultSpan.SourceIndex + i)). Line); result.Add(change); } break; case DiffResultSpanStatus.AddDestination: for (int i = 0; i < diffResultSpan.Length; i++) { var change = new Change(file, ChangeType.Add, diffResultSpan.DestIndex, ((TextLine)destinationFile.GetByIndex(diffResultSpan.DestIndex + i)). Line); result.Add(change); } break; case DiffResultSpanStatus.Replace: for (int i = 0; i < diffResultSpan.Length; i++) { var change = new Change(file, ChangeType.Update, diffResultSpan.SourceIndex, ((TextLine)sourceFile.GetByIndex(diffResultSpan.SourceIndex + i)). Line); result.Add(change); } break; } } return result; }