I've been reading through the Pro Git book online and it's very
interesting, but I'm wondering about some of the plumbing commands and how
some of the things Git does can be simulated. For example:
- If you are going to use hash-object to put a blob into the database, is
there a way to tell if an identical blob is already there? Do you just go
ahead and hash-object anyway and nothing in the database will change
because the SHA1 and the content will both be the same?
- Is there a plumbing way to identify if it is safe to perform a "commit"
and update the db, or if a merge is required first because the repo has
been changed elsewhere?