"That keeps me on real releases, avoids unnecessary repository bloat, but
 still gives me a full history of all work on that project specifically.&quot;<br><br>Well, svn or whatever VCS one is already using could be used this way as well. And it doesn&#39;t really address the issue about managing patches, which probably means that you either don&#39;t apply them (I doubt that), or you avoid overwriting them by careful management (a patches directory or careful monitoring of commit logs). But it&#39;s true that we aren&#39;t in the Wild West days of Drupal 4.7/5 anymore where core patches were more common than not, and so perhaps manual management is perfectly reasonable, and worth avoiding the ball and chain of storing every Drupal commit ever.<br>
<br>-marco<br><br><div class="gmail_quote">On Tue, Mar 1, 2011 at 11:13 AM, <a href="mailto:larry@garfieldtech.com">larry@garfieldtech.com</a> <span dir="ltr">&lt;<a href="mailto:larry@garfieldtech.com">larry@garfieldtech.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">I think the question is more about non-custom dev history; there&#39;s little need for a client site to have the complete development history of Drupal 4.3 in its repo, for instance.<br>

<br>
Lately, what I&#39;ve been doing/advocating is using Drush and real releases to download stuff from Drupal.org (core, contrib modules, etc.) and then checking the whole site into Git.  If I update a module, I use Drush for that and then update the code in my Git repo.  Then deploy to production using *my* git repo (which has my full dev history but not every commit in every one of my projects ever) and tags.<br>

<br>
That keeps me on real releases, avoids unnecessary repository bloat, but still gives me a full history of all work on that project specifically.<br>
<br>
--Larry Garfield<div><div></div><div class="h5"><br>
<br>
On 3/1/11 1:56 AM, Sam Boyer wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
I tend to advocate full clone. You&#39;re talking about a task that version<br>
control is designed for. Now that we&#39;ve made the switch, IMO native<br>
code:Git::bytecode:another VCS, or worse, patch stacks, etc. I don&#39;t<br>
know what drush did before to &quot;make this easy&quot; - maybe pop off patch<br>
stacks, update the module, then re-apply the patches? Fact is, though,<br>
nothing Drush could have done under CVS can compare to patching with<br>
native Git commits: your patches can speak the same language as upstream<br>
changes, and you have all of Git&#39;s merge&amp;  rebase behavior at your<br>
fingertips to reconcile them.<br>
<br>
There are some occasional exceptions to this, but I really do think it&#39;s<br>
a bit daft not to keep the full history. Keeping that history means<br>
peace of mind that your patches (now commits) can be intelligently<br>
merged with all changes ever made to that module for all time, across<br>
new versions, across Drupal major versions...blah blah blah. Trading a<br>
few hundred MB of disk space for that is MORE than worth it.<br>
<br>
cheers<br>
s<br>
<br>
On 2/28/11 10:56 AM, Marco Carbone wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Since a Git clone downloads the entire Drupal repository, the Drupal<br>
codebase is no longer so lightweight (~50MB) if you are using Git,<br>
especially as if you clone contrib module repositories as well.<br>
<br>
With CVS, our usual practice with clients was to checkout core and<br>
contrib using CVS, so that we can easily monitor any patches that have<br>
been applied, so that they wouldn&#39;t be lost when updating to newer<br>
releases.  (Drush makes this particularly easy.) This is doable with Git<br>
as well, but now there seems to be the added cost of having to download<br>
the full repository. This is great when doing core/contrib development,<br>
but not really necessary for client work. This is unavoidable as far as<br>
I can tell, but I don&#39;t think I&#39;m satisfied with the &quot;just use a tarball<br>
and don&#39;t hack core/contrib&quot; solution, especially when patches come into<br>
play.<br>
<br>
Is there something I&#39;m missing/not understanding here, or does one just<br>
have to accept the price of a bigger codebase when using Git to manage<br>
core/contrib code? Or is managing core/contrib code this way passe now<br>
that updates can be done through the UI?<br>
<br>
-marco////<br>
</blockquote>
<br>
<br>
</blockquote>
</div></div></blockquote></div><br>