r19080 - gnucash/trunk - Bug #616696 - Development version warning string should not include hardcode version.

Derek Atkins warlord at MIT.EDU
Wed Apr 28 13:40:21 EDT 2010


Don,

Donald Allen <donaldcallen at gmail.com> writes:

> On Wed, Apr 28, 2010 at 1:15 PM, Derek Atkins <warlord at mit.edu> wrote:
>> Geert Janssens <janssens-geert at telenet.be> writes:
>>
>>> On Wednesday 28 April 2010, Derek Atkins wrote:
>>>> Geert Janssens <gjanssens at code.gnucash.org> writes:
>>>> > -GNUCASH_LATEST_STABLE_VERSION="2.2.9"
>>>> > +GNUCASH_LATEST_STABLE_SERIES=$GNUCASH_MAJOR_VERSION.$(($GNUCASH_MINOR_VE
>>>> >RSION-($GNUCASH_MINOR_VERSION%2)))
>>>>
>>>> This logic will fail when we go from 2.x -> 3.0
>>>>
>>>> I'd rather this be "hard coded" and we just have a list of places where
>>>> we need to "fix" the release number when we make a new stable release.
>
> I'm going to chime in here. I'm not a gnucash developer, but I can
> speak from 45 years of professional software development experience.
> Hard-coding the release number in multiple places and having a list of
> places to "fix" is doomed to fail. Someone will add a new place where
> the release number lives and will forget to update the list. Or the
> release number will change and whoever changes it will forget to go
> through the list, or get a phone call while doing it, or ...., and not
> all the places will get changed. I think the release number ought to
> be in one and only one place, and everything that depends on it should
> get it from there or from files that are generated by a script from
> that one source of The Truth.

I appreciate your point of view, however there's just no way to have the
release number in a single place and have it propagate everywhere it
needs to go.  In particular, we have at least FOUR places (which are
effectively different places in Subversion) we need to keep in sync:

  - stable branch
  - trunk/dev branch
  - website
  - docs

There's just no way to put it into one place and "derive" all the rest.

Sure, it makes sense to have it in one place on each branch, which is
what I think Geert is trying to accomplish.  But there's no way to get
the dev branch to figure out the most recent stable release number.  It
kinda needs to be told that.  Similarly, the website needs to know the
latest stable and latest unstable release numbers.  And the docs....  A
world unto themselves.

So yes, within a branch it should be in only one place and derived from
there, but we still need to keep the different branches in place, and
I'm afraid there just isn't a good way to script that.

Therefore, if we agree it cannot be scripted across branches, then we
need to decide the best way to do it.  IMHO it would just be better to
hard code it in one place in each branch.

Geert, also note that once we branch 2.4 we can make changes on that
branch to reflect that it's the stable branch, such as removing some of
the "this is a development version" tips and such.

> /Don

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available


More information about the gnucash-devel mailing list