public HgManifestEntry(HgRevlogEntryMetadata metadata, IList<HgManifestFileEntry> files)
        {
            Metadata = metadata;
            Files = new ReadOnlyCollection<HgManifestFileEntry>(new List<HgManifestFileEntry>(files));

            filesCache.AddRange(files.Select(f => new KeyValuePair<HgPath, HgManifestFileEntry>(f.Path, f)));
        }
 public HgChangeset(HgRevlogEntryMetadata metadata, HgNodeID manifestNodeID, HgAuthor committedBy, DateTimeOffset committedAt, HgBranch branch, 
     HgNodeID sourceNodeID, IEnumerable<string> files, string comment)
 {
     Metadata = metadata;
     ManifestNodeID = manifestNodeID;
     CommittedBy = committedBy;
     CommittedAt = committedAt;
     Branch = branch;
     SourceNodeID = sourceNodeID;
     Files = new ReadOnlyCollection<string>(new List<string>(files));
     Comment = comment;
 }