it's like i said somewhere - maybe in this thread - it's not got enough thought about the protocol. and like you say, why reinvent the wheel, git just needs a filesystem, and an fs is a much easier thing to make a protocol for.
it is possible to concurrently mutate a git repository, but only when it's a different branch, if the mutations are both on the same node. with that attended to either order of applying the change yields an atomic result.