On Feb 26, 2007, at 2:22 AM, Adrian Simmons wrote:
I think there is also a lot of frustration, in effect we had it easy before. Develop in HEAD, branch for each new drupal version, apply fixes in the released branch directly etc. Fairly simple, in fact you could often *avoid* having to merge at all, it was possible to ignore some of CVS less usable commands.
you can do all of that today, too. that's basically what i document in the handbook, with the 1, incredibly minor addition of "and make official release tags whenever practical for real releases", which is still optional (and a huge improvement in its own).
The new system in effect forces us to do more work - and pretty much makes it essential to get to grips with cvs merge.
neither part of that sentence is true. 1) the "degenerate case" of the new release system behaves exactly like the old system, even if you make no official release nodes at all. well, ok, you have to do 2 minutes of extra work to make the initial development snapshot release node for a new branch, but effectively, that's 2 minutes of work every 6-9 months or so. 2) the new system does not at all require you to know how to do cvs merge at all. that's exactly why i haven't documented it, since you don't need to, and as soon as i do, people will start sending me personal emails about how to merge their stuff. a) you've always had to (and will need to) backport bug fixes to multiple branches, so long as you're continuing to support older versions of your code. this didn't change from the new system. b) you can do all your new feature development in HEAD and never have to merge. for the 4th time in 12 hours, RTFM: http://drupal.org/node/17570#HEAD c) no one is forced by the new system to add new features to branches that work with older versions of core. however, if you *want* to, you finally *CAN* do this, which is a vast improvement. yes, it's more work, which i've said all along, but no one is *required* to do this extra work. if you don't care about such things, or don't have enough of a user base to care about keeping your "stable" code stable, do whatever you want, including what you've always done. even in the case where you're actively supporting multiple branches for older versions of core, it's not clear to me that official cvs merging is actually a win (due to the fact that core's API changes so much, you often end up with tons of conflicts, anyway). i did this for a little while with project* but have now switched back to just trying to apply (and porting) patches to whatever branches they need to go into in the first place, instead of merging after every official release.
It's all for the better, but you'll never get people to like doing more work :)
that's why i designed it so the extra work (except the 2 minutes every 6-9 months) is totally optional for people who care enough to do it.
And that's without getting into the extra work you have to spend as a user now tracking module updates if you're used to pulling them from cvs.
which, in practice, is tiny. only a small minority of modules have more branches than core does. for the vast majority of cases, you just have to do "cvs co -r DRUPAL-5" and you've got all you need. in the few edge cases where there's a DRUPAL-5--2 branch, you should think twice about if you want that code anyway, and then can just update your checked out copy to that new branch once (and, since CVS is such an excellent tool, it'll remember that for you so the next time you run "cvs update" in the top level of your modules directory, it'll get the code from DRUPAL-5 for most directories, and DRUPAL-5--2 from the ones where you want that). but, this is becoming less and less of an issue, thanks to nedjo, merlin and myself working on the "ask drupal.org if my site is up-to- date XML-RPC interface": http://drupal.org/node/48580
I don't have any easy answers,
i do. ;)
and I don't want to knock the great work you've already done Derek -
good, thanks. ;)
but you're making us all work harder,
not true.
just get some ear plugs till the anguished screams and swearing die down =D
i wouldn't need the ear plugs if all of you took yours out every time i swear and scream in anguish: RTFM!!!! ;) it's all there. if everyone spent 2 hours carefully reading what's in the CVS handbooks, and (gasp) helping to improve the docs if they're not crystal clear, you'd all already know all the stuff i have to keep re-explaining in emails over and over and over. y'all are the ones making *me* work harder. ;) cheers, -derek