@b0rk I do not care how SCM handle commit internally.

For me commit is "a change". It may alter content of file, can move it, can have no files even.

If I export commit then it is still a valid change which someone can take and apply. Nevermind with it be "git am", "patch", "quilt" or other SCM system than I used.

And I like your post. Very detailed and was nice read.