public void Apply(CommitApplyConfig config) { using (MemoryStream s = new MemoryStream()) { Blob blob = config.Repository.ObjectDatabase.CreateBlob(s); config.Index.Add(blob, $"{config.Old.Sha}.txt", Mode.NonExecutableFile); } }
private Commit ApplyCommit(Commit commit) { List <Commit> newParents = new List <Commit>(); foreach (Commit commitParent in commit.Parents) { newParents.Add(ApplyCommit(commitParent)); } if (_appliedCommits.ContainsKey(commit.Sha)) { return(_appliedCommits[commit.Sha]); } CommitBuilder commitBuilder = new CommitBuilder(); CommitApplyConfig config = new CommitApplyConfig(commit, newParents, _repository.Index, commitBuilder, _repository); config.Index.Replace(commit); _commitApplier.Apply(config); Tree tree = _repository.Index.WriteToTree(); Commit newCommit = BuildCommit(commit, commitBuilder, newParents, tree); _appliedCommits.Add(commit.Sha, newCommit); return(newCommit); }