public ICommit Write(IPerson aAuthor, IPerson aCommitter, string aDescription)
{
CheckWritten();
iWritten = true;
ITree tree = iRoot.Write();
if (!iRoot.Modified)
{
throw (new GitException("No modifiction"));
}
// TODO clean this up
ICommit commit = Commit.Write(iRepository, tree, new List<ICommit>(), aAuthor, aCommitter, aDescription);
iRepository.UpdateBranch(iBranch, commit.Id);
return (commit);
}