This are just some random ideas about how we could organize drupal core development when/if it would be powered by git.
Every (core) dev can request a personal git repo for drupal development. Here he can push his stuff too, in a special layout.
The branches are named after issues the dev is assigned to. The base for them is the current HEAD (it's left to the dev pulling it in before starting his work!). Then the dev develops his patch. Whenever needed, he pulls the current HEAD in. When he's done with his patch, he uses a special tag name, and the magic starts:
The latest HEAD commit which was pulled into the issue specific branch is detected.
A patch is created against the detected HEAD.
The Issue the patch is for is updated with a link to the repo, the patch and the tag message. The status of the issue is set to code needs review.
The patch is tested by the testing bot, and issue status is updated accordingly.
The patch is reviewed, reroll requested etc.
The dev now just modifies his branch and then tags with another magical tag, and the issue is updated again... etc. When the code was comitted to HEAD, we could even auto-delete the branch of the developer (if it's in the same state as it was when the last patch was created). For retaining the patch development history, better annotating of HEAD etc, the comitters of HEAD use git pull to get the code, the patch is there to make it easier for other people to review code.
That's it for now, I'm interested what you'd think about this!