[development] Choosing the N number for .install's hook_update_N
Derek Wright
drupal at dwwright.net
Thu Aug 7 17:27:37 UTC 2008
On Aug 7, 2008, at 9:57 AM, Morbus Iff wrote:
> I want the latest version of the *module*, not the latest version
> of Drupal core and then the module.
That's the point of embedding the core version in the version strings
of contrib in the first place. What you want is fallacy. You can't
possibly not care what version of core you're using, since Drupal is
inherently non-compatible across versions of core. In Drupal
contrib, the world revolves around core. I just chose to embed that
indisputable fact into the version strings themselves.
Re views: There's no 5.x-2.*, nor a 6.x-1.*. So "Views 2" is
synonymous with "D6 views". It's irrelevant. Panels would be a
better example, since at least there's a 5.x-1.* and a 5.x-2.*
(though no 6.x-* yet).
OG is a good counter-example. Moshe is at 5.x-7.3 now, and (thank
god) he chose to call the first 6.x compatible version 6.x-1.0.
Otherwise, at his current rate, he would have been at 7.x-21.0 in 2
years.
Part of the difference is how Earl vs. Moshe chose to make use of
major versions in their own development workflows. Roughly speaking,
every coherent set of new features and bug fixes resulted in a new
official release of views (5.x-1.5 -> 5.x-1.6), and resulted in a new
branch/major version for OG (5.x-6.* -> 5.x-7.0). Given those
development styles, it makes perfect sense that Earl puts a lot more
weight into his major versions, and wanted to preserve them, while
Moshe does/did not.
The main point is this: no matter what we do, the version strings
alone will confuse people. No matter what convention anyone follows,
some people will think "ahh, just as I expected" and others will
think "WTF? Where did xxxxxx go?" Hence the need for clearly stated
intentions in your release notes and on your project pages.
Plus, the tools can't and shouldn't enforce a certain development/
release process on all developers (I'm sure you're all saying "amen"
at that). I'm trying to document what I think are reasonable
practices and try to make sure that the tools don't get in the way of
people doing sane things, but ultimately, it's totally fine with me
that Earl and Moshe are using the tools in completely different ways.
I don't think telling Earl: "No, you *MUST* call it views 6.x-1.0" is
any more helpful than telling Moshe: "No, you *MUST* call it OG
6.x-8.0".
Can we please forget about trying to force one model on both of them?
Thanks,
-Derek (dww)
More information about the development
mailing list