Allocate only what is required
Examples and test for commit.parents()