[development] more work required by new release system? (was re: CVS branch work best practices?)
drupal at dwwright.net
Mon Feb 26 19:30:37 UTC 2007
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:
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
> 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
> 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":
> 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,
> 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. ;)
More information about the development