private IEnumerable<Commit> GetSimplifiedCommits()
{
foreach (var commit in Commits)
{
if (commit.ParentIds.Count() == 1 && commit.ChildIds.Count() == 1 && !this.Refs.Any(r=>r.Id==commit.Id))
{
var cid = commit.ChildIds[0];
var pid = commit.ParentIds[0];
var parent = Commits.Where(c => c.Id == pid).FirstOrDefault();
var child = Commits.Where(c => c.Id == cid).FirstOrDefault();
if (parent != null && child != null)
{
int x1 = GetLane(parent.Id);
int x2 = GetLane(commit.Id);
int x3 = GetLane(child.Id);
if (x1 == x2 && x2 == x3)
{
commit.deleted = true;
parent.ChildIds[parent.ChildIds.IndexOf(commit.Id)] = cid;
child.ParentIds[child.ParentIds.IndexOf(commit.Id)] = pid;
}
//commit.ChildIds.Clear();
//commit.ParentIds.Clear();
}
}
}
return commits.Where(c => !c.deleted);
}