Drupal.org has been using CVS as a version control system (VCS) since the project started.
CVS is not only used for contributors to check in code to their modules, but also is used for the packaging system for Drupal that manages releases. CVS is a centralized VCS, has several drawbacks making it frustrating to work with (e.g. cannot move files, cannot check in empty directories, no merging of code, ...etc), as well as lacking features present by more modern VCS's.
After evaluating centralized vs. distributed VCS's, and then the latter (bazaar, mercurial, git), the Drupal community is migrating from CVS to Git. Git was written by Linus Torvalds and is in use for the Linux kernel itself. The Drupal Association has approved funds to make this happen, and a team lead is now on board. By using a distributed VCS, we get a lot of features that are lacking in CVS, as well as pave the way for new ways of collaboration that will be possible.
Chris Frey will give us an overview of the git VCS. He will take the fear out of git by explaining:
* the low level mechanics
* git's philosophy and workflow
* how to get started with a few basic commands
* how git uses the network
* show some cool things that can be done, to stimulate further pursuit
* where to get more information
* if there's time, how to use git with other SCMs
For those who want to learn more about the specifics of Drupal's move to Git, here are some links:
- Migrating Drupal.org to Git.
- Drupal.org Git Migration Team.
- git phase 2 tag in the issue queue.
- Git Migration Lead job posting.
- An overview of what to expect from the project lead.