In terms of svn-like vendor branches, there are many tricks around the web, but the most intelligent discussion I have found is in Chapter 6 of Pro Git, in the discussion of submodules, superproject (a small pithy paragraph which I think touches on the Drupal case) and subtrees.<div>

<br></div><div>It remains to be seen what will emerge as the &quot;Drupal way&quot; here...</div><div><br></div><div>Victor Kane<br><br><div class="gmail_quote">On Thu, Apr 29, 2010 at 10:27 PM, Antonio P. P. Almeida <span dir="ltr">&lt;<a href="mailto:perusio@gmail.com">perusio@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div></div><div class="h5">On 30 Abr 2010 02h12 WEST, <a href="mailto:andrewberry@sentex.net">andrewberry@sentex.net</a> wrote:<br>


<br>
&gt; On 2010-04-29, at 5:34 PM, Domenic Santangelo wrote:<br>
&gt;<br>
&gt;&gt; With d.o moving to git, I&#39;m becoming more interested in how it<br>
&gt;&gt; works.<br>
&gt;<br>
&gt; On a related topic, anyone using git in a way like how subversion<br>
&gt; does vendor branches? Currently I do a cvs export =&gt; svn with<br>
&gt; <a href="http://svn_load_dirs.pl" target="_blank">svn_load_dirs.pl</a>, and I&#39;d be really interested on any resources on<br>
&gt; how to best do this with core and contrib code.<br>
<br>
</div></div>Well I&#39;m pretty much ignorant in SVN terminology but in Git, a branch<br>
is just a pointer to a given commit. So you can branch as much as you<br>
want.<br>
<br>
git checkout -b my_new_branch [old_branch]<br>
<br>
Now you&#39;re on my_new_branch that was created from old_branch. Work on<br>
it. The old_branch default is HEAD.<br>
<br>
git checkout old_branch<br>
<br>
You&#39;re back on old_branch. That&#39;s it.<br>
<br>
Git always copies all files that change in a given commit. It doesn&#39;t<br>
keep deltas like others SCMs.<br>
<font color="#888888"><br>
--- appa<br>
<br>
</font></blockquote></div><br></div>