Although I regularly use SVN, in terms of making an actual change sometime in the future with Drupal releases, we should study git and its wrapper cogito.<br>For developer version control (individual commits nothing to do with central repository), for committing to a central repository, for creating and applying patches, these new tools originally written not so long ago by Linus Torvald, and becoming more and more popular in the last eighteen months or so, are indeed worthy of attention.
<br>git: <a href="http://git.or.cz/">http://git.or.cz/</a><br>cogito: <a href="http://git.or.cz/cogito/">http://git.or.cz/cogito/</a><br>patchy git: <a href="http://www.spearce.org/category/projects/scm/pg/">http://www.spearce.org/category/projects/scm/pg/
</a><br>explanation: <a href="http://www.spearce.org/2006/02/pg-version-0111-released.html">http://www.spearce.org/2006/02/pg-version-0111-released.html</a><br>There are already excellent gui's too.<br><br>Victor Kane
<br><a href="http://awebfactory.com.ar">http://awebfactory.com.ar</a><br><br><div><span class="gmail_quote">On 2/26/07, <b class="gmail_sendername">Derek Wright</b> <<a href="mailto:firstname.lastname@example.org">email@example.com
</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Rob Thorne wrote:<br>> So if we are going to start using branches more, and encouraging
<br>> more developers to play with tags and branch tags, it might be<br>> worth studying whether or when to migrate to a more modern system.<br><br>i'll be the first to admit that CVS can be daunting to the<br>untrained. however, the entire thread about best practices for
<br>branching has nothing to do with CVS's failings regarding branches,<br>tags, and merging. when to branch, if/when/what to merge (and if<br>not, what branch(es) to apply patches to) are generic questions that<br>would face Drupal developers, no matter what revision control system
<br>we used.<br><br>as far as i know, the *only* viable alternative to CVS that might be<br>considered for drupal development is SVN. sadly, in spite of the<br>other ways SVN improved things that CVS sucks at (basically, renaming
<br>files), SVN still fails to make merging branches easy. sure, the<br>syntax of the command changed from:<br><br>"cvs update -j [revision_1] -j [revision_2]"<br><br>to:<br><br>"svn merge -r [revision_1] -r [revision_2]"
<br><br>but otherwise, all the same suckiness is there in both cases .<br>getting into the details of this is OT -- my real point is that SVN<br>is no paradise for revision control, especially regarding branches.<br>sure, the "svn tag" operation is orders of magnitude *faster* than
<br>"cvs tag" in many cases, but it's no *simpler* to understand or get<br>right. and no one is complaining about wasted time while "cvs tag"<br>runs, they're complaining (with some justification) about wasted time
<br>thinking about the revision control problems (when/why to branch/tag,<br>where to apply patches, when to make releases, etc), instead of their<br>Drupal code problems.<br><br>bottom line: nearly all of the confusion is being caused because of
<br>misunderstanding revision control concepts (and the incredibly<br>complicated world Drupal has created for itself, see my other post),<br>not the syntax or functionality of a specific revision control tool .<br><br>
that said, i'm not fanatically opposed to moving Drupal development<br>to a different revision control system, but it's going to take a<br>*LOT* of work, and (in a year of *many* people trying) i've yet to<br>
hear an argument that holds any water about ways SVN would<br>significantly improve our development practices to offset the very<br>high cost of switching. that said, if someone(s) wants to pay me<br>enough to do all the work (and i won't make the same mistake of
<br>wildly under-guessing how many hours this would actually take from<br>start to finish as i did with the release system) i'd be more than<br>happy to do the clean separation/abstraction required so we could use<br>
SVN instead of CVS. if you're serious (and have a big budget), talk<br>to me off list.<br><br>thanks,<br>-derek<br><br> <a href="http://www.dellroad.org/svnmerge/index">http://www.dellroad.org/svnmerge/index</a> has promise to solve some
<br>of these problems, and is now included in the SVN source, but it's<br>still basically "contrib" as far as i can tell. :(<br><br> to address Rob's other comment:<br><br>> First is the notorious "forgot -kb on cvs add" problem.
<br><br>this is a non-issue in a repository with a properly configured<br>CVSROOT/cvswrappers file, which thankfully, the Drupal contrib repo<br>has been for at least a few months now. ;)<br><br></blockquote></div><br>