I'm no expert, but isn't a branch in git just a label (i.e. a pointer) for a commit? In fact you can have orphaned commits in your reflog that are not pointed by any branch (and will be GC'd at some point).
I guess you mean that hg commits do not have parent pointers and are thus not intrusively chained in trees, while an hg branch is a separate non-intrusive construct?
I guess you mean that hg commits do not have parent pointers and are thus not intrusively chained in trees, while an hg branch is a separate non-intrusive construct?