Definitely would be worth some updated docs. I'm trying to get to such docs (or delegate the responsibility for it) as fast as I can :) On 3/1/11 11:36 PM, Gábor Hojtsy wrote:
On Wed, Mar 2, 2011 at 7:10 AM, Sam Boyer <drupal@samboyer.org> 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