CVS FAQ

This page is the future home for a list of Frequently Asked Questions about Drupal's CVS repositories.

Some initial thoughts on questions this should answer:

How do I add my code to CVS?

  1. First you need to apply for a CVS account. Make sure you read and understand the application page and the CVS Usage Policy.

How do I "move" my checkout?

Your local CVS checkout is simply one "instance" of the code in the central repository. If you would like to have your checkout "moved" elsewhere you only need to do a regular checkout of your module from the new location, but make sure you do that with your CVS account information and not as anonymous. Otherwise you won't be able to commit any code.You can follow the directions as shown in the Logging in to CVS section of the Quickstart guide and then do a straight checkout command:

cvs checkout -d MODULE_DIRECTORY contributions/modules/MODULE_DIRECTORY

I originally created a dev release (e.g. 6.x-1.x-dev) that points HEAD. Now I
have created an actual branch (e.g. DRUPAL-6--1) for that version but now when I go to create a dev release for it, I can't because one already exists that is using HEAD. How do I make a new dev release that points to the branch and not HEAD?

You need to edit the existing dev release node. Now that you have a new branch it will appear in the "CVS branch:" select list on the edit screen. Change that to the new branch name and the release will use that instead of HEAD.

Note: now that you have "freed" HEAD form being associated with a release node, it is available if you would like to create a new dev release for it (e.g. if you wanted to do development for a 6.x-2.x-dev version.)

== Questions to be answered ==
- What's the difference between a branch and a tag?

- What branch should I use when I want to commit a given change to my contribution?

- What's "HEAD"? What should I use it for?

- I messed up my tags for my project, how do I fix it?

- Why isn't the DRUPAL-5--1 branch allowed? Why do some projects have it?

- I've committed my code but the tarball isn't showing up.

- What is the difference between an Official Release and Development Snapshot?

Difference between Branch and Tag

davidwhthomas - March 7, 2008 - 05:30

from merlinofchaos' CVS tutorial: http://www.angrydonuts.com/my_informal_take_on_using_the_ne

  • A branch is a new direction of code; a fork, if you will. Your code automatically starts with one branch, and that is HEAD. When you branch, it’s a little like each repository is different. Whenever you check into a branch, the ‘branch tag’ moves up (which is how CVS describes it)…but the easiest way to think about it is that once you make a branch, it is now a different repository. Until you check into the new branch or the old branch, they happen to have the same code. But if you want them to have the same code, you will then have to perform two checkins. The most current code in a branch is often referred to as the ‘tip’ of the branch.
  • A tag is a ‘stable’ snapshot of a branch. Tags shouldn’t move. They represent an instance of the code that you want to preserve. Ordinarily tags are used for releases, be they development, beta, release candidates or full-fledged releases. Using a tag lets you quickly and easily identify what code was actually running.

Hope it helps,

DT

 
 

Drupal is a registered trademark of Dries Buytaert.