Branch/Tag naming in Git

Events happening in the community are now at Drupal community events on www.drupal.org.
webchick's picture

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!

yareckon's picture

Thanks guys and gals!

Wohooo

Pisco's picture

This is great, it's a joy seeing how Drupal embraces the power of Git!

Docs update

johnalbin's picture

This info has been moved to the Git docs: http://drupal.org/node/1015226

  - John (JohnAlbin)

Drupal.org Git Team

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: