Subject: Submodules use case: web development based on modular CMS

From: Jakub Narebski <[email-masked]>
Date: Sun, 27 Jan 2008 01:39:56 +0100

A bit of time ago I have stumbled upon the following blog entry 
(question): "Agaric wants version control that lets Drupal core and 
contrib replace entire directories within our checkouts"[1]
  http://tinyurl.com/yv3jp4

Here the author want to use version control system for customized 
version of CMS system, namely:
 * Drupal core
 * selected Drupal contributed modules ("inside" Drupal core)
 * own work (theme, custom modules) (also "inside" Drupal core)
And of course he wants to have development branches: dev, test and live, 
and want to always checkout correct versions of Drupal, Drupal modules 
and own work.

Somebody (in comments) proposed using Subversion externals; I have 
proposed using Git submodules (subproject) support.  Nevertheless while 
I have at one time manage PHPNuke portal using CVS and vendor branches, 
and even had half-written automatic fast checkout/fast export script, 
I haven't worked with submodules in Git, nor with using Git to manage 
web site.

Comments (here, and as comments to mentioned blog article) about how 
such thing should be done with Git very appreciated. (And for example 
how Git submodules differ from svn:externals and why git way is 
better ;-)).

P.S. BTW. Drupal is considering moving from CVS to some other SCM, see
http://groups.drupal.org/revision-control-systems .  Perhaps Git would 
be the choice?  Is anybody here active in Drupal development?  Is for 
example their Version Control API too CVS-centric (single file history 
centric)?

[1]http://agaricdesign.com/note/agaric-wants-version-control-lets-drupal-core-and-contrib-replace-entire-directories-within-our-checkouts
-- 
Jakub Narebski
Poland