How do I delete a directory from CVS?

Last modified: October 19, 2008 - 06:26

Answer: you can't.

There are only 2 ways to "remove" a directory from a cvs repository when people go to check something out:

  1. completely remove all traces of the old directory by directly removing it out of the repository's filesystem itself. this is dangerous, and evil, since you're losing all the history for the old thing
  2. introduce cvs "modules" (ugh, can you say terminology confusion for drupal users? *sigh*), which is a whole can of complication we probably want to stay the hell away from. basically, these are symbolic names that tell cvs what group of files you want to work on together. so, we could define a cvs module called "CONTRIB-MODULES" that included all the things in contributions/modules/* that we wanted to consider "live". then, whenever someone wanted to checkout the entire contrib modules, they'd do: cvs co -r DRUPAL-4-6 CONTRIB-MODULES" and cvs would only give them the things that were included in the official "CONTRIB-MODULES" list. so, if we wanted to remove a dead contrib drupal module from the live list, we'd just take it out of the corresponding cvs module. however, this would suck for at least 4 reasons:
    1. massive confusion between cvs "modules" and drupal "modules"
    2. more work for the cvs admin(s) to maintain these cvs modules
    3. more confusion for people who'd have to learn to start using the new method for checking out from the contrib repository.
    4. we might decide we'd want different cvs modules per drupal branch, since there can be a very different set of modules that are valid from drupal version to drupal version. then, everyone would be confused between cvs modules and cvs branches and tags. :(

so, either you have to:

  1. live with it
  2. convince a cvs admin that brute-force option #1 is a good idea in your specific case
  3. choose a better name

sorry,
-derek

 
 

Drupal is a registered trademark of Dries Buytaert.