Since porcelain commands are built with the plumbing commands, I am interested to know how the add and commit are built.
For instance, the add command certainly use the hash-object command but I think it uses other commands as well (maybe the update-index). Can someone point me to a resource that explains this in details ?