Apt-drup - Preserves original CVS keywords

Last modified: November 20, 2007 - 17:47

Preserving cvs keywords from Drupal (like $Id: drupal.js,v 1.29 2006/10/14 02:39:48 unconed Exp$) are essential to track down versions of files you originally used and to be able to patch your local copy of drupal in case you found a suitable patch on drupal.org. To be able to patch, you need to know which version of files we want to patch.

These keywords might get lost when we import this to your own CVS and replaced with your keywords substitution: $Id: drupal.js, v 1.1 2007/01/15 11:30:00 owahab Exp$.

This script does a "cvs export" from Drupal CVS for a version you can specify to a folder you can specify then it adds CVS keywords making the folder ready for a "cvs import" to your CVS, yet preserving Drupal's original CVS keywords.

The script also can be used to download Drupal modules the same way.
1. Download the attached file.
2. $ chmod +x apt-drup.sh
3. $ ./apt-drup.sh folder 5.1

You can substitute: folder with any folder name and 5.1 with any version of drupal.
Note: you can directly request downloading a module a folder that doesn't exist and in this case drupal will be downloaded too.
$ ./apt-drup.sh folder 5.1 event
or
$ ./apt-drup.sh folder 5.1 buddylist 1.0

http://cvs.drupal.org/viewcvs/drupal/contributions/sandbox/owahab/apt-dr...

CVS "expanded" the $Id$

msameer - May 31, 2007 - 19:00

CVS "expanded" the $Id$ keyword and b0rked the script.

You need to disable the CVS keywords expansion

Please read this:

Omar - June 25, 2007 - 09:20

Doesn't work with OS X sed

ethanw - August 6, 2007 - 17:28

OSX uses a non-gnu sed that doesn't support "\l" for lowercase in the substitution string. I installed MacPort gsed and aliased /opt/local/bin/gnused to /opt/local/bin/sed, which worked for me. The lowercasing of module names can probably be skipped for most administrators, though (line 96).

Also, I modified the module_folder var in the mod function to be sites/all/modules (starting line 108):

modules_folder="$destination/sites/all/modules"
  if [ ! -d "$modules_folder" ]; then
    # the modules folder doesn't exist so creating it
    mkdir -p "$modules_folder";
  fi

--
ethan winn

Note: you can directly

scor - November 20, 2007 - 17:50

Note: you can directly request downloading a module a folder that doesn't exist and in this case drupal will be downloaded too.

Can you be more explicit?

 
 

Drupal is a registered trademark of Dries Buytaert.