One of the Git migration issues closed out this week was Determine branch/tag naming restrictions in Git.
The big news? All branch/tag naming restrictions at the version control system level will be lifted once we move to Git. w00t! Why is that so cool?
Currently, drupal.org CVS restricts you to branch names meeting a specific pattern (DRUPAL-6--2, DRUPAL-7--1-2-BETA1, and so on). If it doesn't match the pattern, it's rejected. This is nice for enforcing consistency in our diverse contributor community.
However, in a distributed version control system workflow, it's much more common to spin off separate branches for features, for bug fixes, or heck, just because you feel like it. And once Git is implemented, you can! Lifting this restriction is going to be pretty huge; it'll mean that going forward, Drupal developers will be able to leverage the full power of Git in their day-to-day workflow. Awesome! :D
However, in order to facilitate key community infrastructure such as Update Status and the testing bot, the tags/branches you intend to translate into actual releases (and tarballs) on Drupal.org will have to follow a consistent naming convention, similar to what's done now, but much more human-readable:
| Description | CVS | Git |
|---|---|---|
| 7.0-alpha6 official release (core) | DRUPAL-7-0-ALPHA6 | 7.0-alpha6 |
| 6.x-2.3 official release (contrib) | DRUPAL-6--2-3 | 6.x-2.3 |
| 6.x-dev release (core) | DRUPAL-6 | 6.x |
| 6.x-2.x-dev release (contrib) | DRUPAL-6--2 | 6.x-2.x |
So in summary, you'll have the freedom to branch early and branch often while in development, and use much less obtuse names for your tags/branches when you're ready to release. Yeehaw! Thanks a lot to sdboyer and dww for working this out!

Comments
This looks like a big improvement!
Thanks guys and gals!
Wohooo
This is great, it's a joy seeing how Drupal embraces the power of Git!
Docs update
This info has been moved to the Git docs: http://drupal.org/node/1015226
- John (JohnAlbin)