public static Status From(RevisionFile file) => new Status
 {
     File        = file.File,
     IsDeleted   = file.IsDeleted,
     IsNew       = file.IsNew,
     IsRenamed   = file.IsRenamed,
     IsUnchanged = false
 };
        private Entry CreateEmptyEntry(RevisionFile file)
        {
            var entry = new Entry(_revisions)
            {
                File = file.File
            };

            return(entry);
        }
        private Entry FindOrCreateEntry(RevisionFile file)
        {
            var entry = Find(f => f.File.NewPath == file.File.OldPath);

            if (entry == null)
            {
                entry = CreateEmptyEntry(file);
                Add(entry);
            }

            return(entry);
        }
 private Entry FindRenamedEntry(RevisionId revisionId, RevisionFile file)
 {
     return(Find(f => f.StatusForRevision(revisionId).File.NewPath == file.File.OldPath));
 }