On Wed, Mar 2, 2011 at 7:10 AM, Sam Boyer <[email protected]> wrote: >> Also, if you want to manage both core and contrib modules that way it >> means you are now using git submodules, which it's generally agreed suck >> AFAIK, or complex sub-tree merging that is out of reach of 99% of >> developers. Hell, I've done it and I don't want to do it. :-) > > Git submodules don't suck across the board. They only suck if you try to > use them for the wrong purpose - namely, general dev. Which is what most > people try to use them for, and then get frustrated. However, they can > be *very* effective as part of a strategy for developing a real client > site, where you actually do want to record submodule updates in the > parent repo (e.g., when you update a set of modules from upstream, you > reflect that in the parent repo with a commit of all the updated > submodules). > > Yes, subtrees are a doozy that don't ever enter most folks' repertoire. > But plain, nested git repos (that just ignore each other) works > delightfully well. They can't rebuild themselves on new servers, but if > your deployment strategy is rsync, that's moot.
Well, it would be good to document the suggestion for "nested git trees with gitignores" as a best practice if you think it is, because last I've asked on #gitsupport, subrepos were suggested as per http://freso.dk/en/2011/02/26/managing_fresodk_from_cvs_in_svn_to_git (no they did not add that they suck :). The guide currently linked from the main Git docs page for site builders (http://drupal.org/node/803746) is very outdated (assumes contrib is in CVS, and generally that you use a git repo mirrored from CVS), and developers flock to blog posts like that which seem to be up to date and supposedly contain best practice suggestions. Gábor
