Basically, git-subtree without history mangling, by turning each commit into the child of itself plus all the submodule link commits. No more disappeared upstreams or uninitialized submodules. Seems nice.

Note that this is from the original author of git-subtree. If this turns out to be a good idea, I wonder if it will make it into git/contrib, too (is a contrib written in golang even possible?).

> (is a contrib written in golang even possible?)

    $ cd ~/src/github.com/git/git
    $ git ls-files '*.go'
    contrib/persistent-https/client.go
    contrib/persistent-https/main.go
    contrib/persistent-https/proxy.go
    contrib/persistent-https/socket.go

empirically, yes
Hah! Checked languages at https://github.com/git/git, only saw C, Make, and scripting languages. Apparently Go is buried under “Other”.